`
_____bEn-beN
  • 浏览: 14296 次
社区版块
存档分类
最新评论

pinyin4j的用法

 
阅读更多
pinyin4j是一个支持将简体和繁体中文转换到成拼音的Java开源类库,作者是Li Min (xmlerlimin@gmail.com)。以下是一些具体的介绍和使用方式。

1.       pinyin4j的官方下载地址http://sourceforge.net/projects/pinyin4j/files/,目前最新的版本是2.5.0
 

2.       下载解压后的目录结构及说明如下
  
(1)     doc : pinyin4j的api文档
(2)     lib : pinyin4j的jar包
(3)     src : pinyin4j的源代码
(4)     CHANGELOG.txt : pinyin4j的版本更新日志
(5)     COPYING.txt : LICENSE说明
(6)     README.txt : pinyin4j的概要介绍


3.       运行GUI demo
命令行执行cd ${pinyin-install-dir}/lib,进入到pinyin4j-2.5.0.jar所在的目录,敲入java -jar pinyin4j-2.5.0.jar执行,GUI界面如下:
 
   

上图是输入汉字“中”,执行Convert to Pinyin后的截图。Format后有三个下拉框,第一个下拉框有三个选项,用来控制生成的拼音声调的显示方式,三个方式及其效果如下(以汉字“中”,选中Formatted hanyu Pinyin选项卡测试):
WITH_TONE_NUMBER(以数字代替声调) :  zhong1  zhong4
WITHOUT_TONE (无声调) :                           zhong   zhong
WITH_TONE_MARK (有声调) :                      zhōng  zhòng
第二个下拉框是碰到unicode 的ü 、v 和 u时的显示方式,共有三个方式, 以下是以声调为WITH_TONE_NUMBER方式显示汉字“吕”示例:
WITH_U_AND_COLON : lu:3
WITH_V :            lv3
WITH_U_UNICODE :    lü3
第三个下拉框是控制生成的拼音是以大写方式显示还是以小写方式显示,以汉字“国”示例如下:
LOWERCASE :guó
UPPERCASE :GUÓ
上图的汉字转化成拼音后,有六种显示方式,这是因为pinyin4j支持将汉字转化成六种拼音表示法。其对应关系是:汉语拼音-Hanyu Pinyin,通用拼音-Tongyong Pinyin, 威妥玛拼音(威玛拼法)-Wade-Giles  Pinyin, 注音符号第二式-MPSII Pinyin, 耶鲁拼法-Yale Pinyin和国语罗马字-Gwoyeu Romatzyh。

4.  字符串转化成拼音Java代码示例
代码:

[java:nogutter] view plaincopyprint?
package testcase; 
 
import net.sourceforge.pinyin4j.PinyinHelper; 
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; 
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; 
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; 
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; 
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; 
 
public class PinYinUtil { 
     
    public static String getPinYin(String inputString) { 
         
        HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); 
        format.setCaseType(HanyuPinyinCaseType.LOWERCASE); 
        format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK); 
        format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE); 
 
        char[] input = inputString.trim().toCharArray(); 
        StringBuffer output = new StringBuffer(""); 
 
        try { 
            for (int i = 0; i < input.length; i++) { 
                if (Character.toString(input[i]).matches("[//u4E00-//u9FA5]+")) { 
                    String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format); 
                    output.append(temp[0]); 
                    output.append(" "); 
                } else 
                    output.append(Character.toString(input[i])); 
            } 
        } catch (BadHanyuPinyinOutputFormatCombination e) { 
            e.printStackTrace(); 
        } 
        return output.toString(); 
    } 
     
    public static void main(String[] args) { 
        String chs = "我是中国人! I'm Chinese!"; 
        System.out.println(chs); 
        System.out.println(getPinYin(chs)); 
    } 
     

运行结果:我是中国人! I'm Chinese!
           wŏ shì zhōng guó rén ! I'm Chinese!

附件:
1.各种拼音说明
Yale Pinyin是在第二次世界大战期间由美国军方发明的编码系统,主要为了让在中国地区作战的美军士兵能够快速地熟悉汉语发音,能够向当地人请求帮助,可以说这是一个速成教材,它的目的甚至不是用来互相交流而是使士兵在发音时不会被中国人听错就可以了。
Gwoyeu Romatzyh:即国语罗马字,它是由林语堂提议建立的,在1928年由国民政府大学堂颁布推行。在中国的台湾省这一编码体系得到了保留,但是它就像 Yale一样现在几乎很少有人使用,在1986年,国语罗马字被国语注音符号第二式(MPSII)所取代,在2002年,又被通用拼音(Tongyong Pinyin)取代,成为台湾今天正式的官方汉语音译编码体系。
威妥玛拼音,习惯称作威妥玛拼法或威玛式拼音、韦氏拼音、威翟式拼音,是一套用于拼写中文普通话的罗马拼音系统。19世纪中叶由英国人威妥玛(Thomas Francis Wade)发明,后由翟理斯(Herbert Allen Giles)完成修订,并编入其所撰写的汉英字典。

参考资料:
1.       pinyin4j的官方资料
2.       汉语言的罗马化
http://icookies.spaces.live.com/blog/cns!2CC37E2F87FB3864!170.entry
3.       Wiki: 威妥瑪拼音(维基百科)
http://wapedia.mobi/zh/威妥玛拼音
分享到:
评论

相关推荐

    pinyin4j.zip pinyin4j.jar

    Pinyin4j的使用方法简单直观。首先,你需要将提供的`pinyin4j.jar`文件引入到你的项目类路径中。然后,你可以通过`net.sourceforge.pinyin4j.PinyinHelper`类来调用各种转换方法。例如,使用`...

    pinyin4j-2.5.0-API文档-中文版.zip

    赠送jar包:pinyin4j-2.5.0.jar; 赠送原API文档:pinyin4j-2.5.0-javadoc.jar; 赠送源代码:pinyin4j-2.5.0-sources.jar; 赠送Maven依赖信息文件:pinyin4j-2.5.0.pom; 包含翻译后的API文档:pinyin4j-2.5.0-...

    Pinyin4j的基本用法 - 玄机逸士的专栏 - 博客频道 - CSDN.NET.html

    Pinyin4j的基本用法 - 玄机逸士的专栏 - 博客频道 - CSDN.NET.html )

    pinyin4j-2.5.0

    `toHanyuPinyinStringArray()`方法是`pinyin4j`的核心方法,它可以将一个汉字字符串转换为一个包含所有拼音的字符串数组。 总的来说,`pinyin4j-2.5.0`是Java开发者处理中文字符串拼音转换的理想选择。无论是简单的...

    pinyin4j-2.5.0.jar下载

    在使用pinyin4j-2.5.0.jar之前,首先需要将其导入到项目中。对于Java项目,可以将jar文件添加到项目的类路径(classpath)中;对于Maven或Gradle项目,可以通过在构建配置文件中指定依赖来引入。Kotlin项目同样可以...

    pinyin4j(解决多音字问题源码)

    具体到pinyin4j的使用方法,一般包括以下几个步骤: 1. 引入pinyin4j库:在Java项目中,可以通过Maven或Gradle等构建工具引入pinyin4j的依赖。 2. 创建实例:创建PinyinHelper或HanyuPinyinOutputFormat类的实例,...

    pinyin4j-2.5.1.jar

    了解了pinyin4j库的基本用法和可能出现的问题后,我们可以进一步探讨其核心功能。pinyin4j提供了`PinyinHelper`类,该类包含了一系列静态方法,如`toHanyuPinyinStringArray()`和`toHanyuPinyinStringWithToneMark()...

    汉语转换成拼音的jar包pinyin4j-2.5.0版本

    在实际项目中,使用`pinyin4j`通常有以下步骤: 1. **添加依赖**:如果你的项目是基于Maven构建的,你可以将`pinyin4j-2.5.0.jar`放入本地Maven仓库,并在`pom.xml`文件中添加相应的依赖。这样,其他模块就可以通过...

    pinyin4j-2.5.0.zip

    首先,我们来了解一下pinyin4j的基本用法。在Java代码中,你可以通过创建`PinyinHelper`对象并调用其方法,如`toHanyuPinyinStringArray()`,将单个汉字转换为拼音数组。这个过程不仅支持普通汉字,还能够处理多音字...

    pinyin4j-2.5.0.jar+使用说明+使用代码

    本文将详细探讨pinyin4j-2.5.0.jar这个Java汉字转拼音的jar包,包括其核心功能、使用方法以及实际应用中的示例代码。 一、pinyin4j概述 pinyin4j是一个轻量级的Java库,它提供了高效且灵活的汉字转拼音功能。该库...

    pinyin4j-2.5.0.jar

    在压缩包中,附带的`PinyinUtils.java`是一个使用示例,它展示了如何在实际项目中集成和使用pinyin4j。这个示例文件通常包含了初始化、转换和处理结果的基本步骤,对于初学者来说,是一个很好的学习起点。通过阅读和...

    pinyin4j 开发jar包

    本文将详细介绍pinyin4j的核心功能、使用方法及其在实际开发中的应用。 一、pinyin4j简介 pinyin4j是由Liu Jiangyong开发的一款开源Java库,主要功能是将汉字转换为汉语拼音。它支持多种拼音表示方式,包括全拼、...

    pinyin4j-2.5.0.jar 下载 java汉字转拼音 jar包 附带超级简单小dome

    本文将详细介绍pinyin4j-2.5.0.jar这个jar包以及如何使用它来实现汉字转拼音的功能。 pinyin4j是一个开源的Java库,由Barry de Graaff创建,它的主要功能是提供汉字到拼音的转换服务。在pinyin4j-2.5.0.jar这个版本...

    将简体中文和繁体中文转换拼音的jar包 pinyin4j-2.5.0.jar

    本文将详细介绍pinyin4j库及其使用方法。 pinyin4j是一个轻量级的Java库,专门用于将汉字转换为汉语拼音。它支持简体中文和繁体中文的转换,能够处理单个汉字、词语甚至整个句子。该库由Barry S. Wang开发,并在...

    pinyin4j最新jar包,汉字转pinyin必备

    通常,使用pinyin4j的步骤包括导入jar包,创建`PinyinHelper`对象,然后调用`toHanyuPinyinStringArray()`等方法进行转换。例如,`PinyinHelper.toHanyuPinyinStringArray('中')`会返回一个包含“Zhong”和“Zong”...

    pinyin4j所需jar包

    《深入理解pinyin4j库及其使用》 在Java编程中,处理中文字符尤其是转换为拼音的任务时常出现。为了高效地解决这个问题,开发者们通常会借助于特定的库,其中pinyin4j就是一个广泛使用的开源工具。本文将详细介绍...

    pinyin4j-2.5.0的jar包、源码、说明文档.zip

    在标题中提到的“pinyin4j-2.5.0的jar包”,是指该版本的二进制可执行文件,它包含了所有必要的类和方法,可以直接引入到Java项目中使用。开发者可以通过添加jar包到项目的类路径中,快速实现汉字转拼音的功能,无需...

    pinyin4j-2.5.0.jar 中文转化拼音,获取首字母

    本文将深入探讨pinyin4j-2.5.0.jar这个Java库,了解其功能和使用方法,以及如何通过它来实现中文转化为拼音并获取首字母。 pinyin4j是一个开源的Java库,专为处理中文汉字到拼音的转换而设计。它支持多种拼音输出...

    Java 中文排序 使用pinyin4j组件

    这里我们将详细介绍如何使用`pinyin4j`这个Java库来实现中文字符串的拼音排序。 `pinyin4j`是一个强大的Java库,它提供了将汉字转换为拼音的功能,这使得我们可以基于每个汉字的拼音首字母来进行排序。以下是如何...

    pinyin4j jar包

    在Pinyin4j中,`Pinyin4jUtils`是一个非常实用的工具类,它封装了一些基本的转换方法,使得开发者无需深入了解内部实现,就可以方便地进行汉字到拼音的转换。例如,`toPinyinString(char[] chars)`方法可以将一个...

Global site tag (gtag.js) - Google Analytics