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

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-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工具类和jar包

    Pinyin4j的基本用法 1. 简单介绍 有时候,需要将汉字编程对应的拼音,以方便数据的处理。比如在Android手机应用的开发上,要查询联系人的姓名,通常都是用拼音进行查询的。比如要查询“曹孟德”,就可以输入“cmd”...

    pinyin4j的jar包及源码包(附带使用方法)

    pinyin4j的jar包 源码包,附带使用方法。 下载即可使用

    通过首字母查询pinyin4j-2.5.0 jar包及使用方法

    通过首字母查询pinyin4j-2.5.0 jar包及使用方法

    pinyin4j工具类

    pinyin4j工具类 pinyi4j使用方法 使用效果: 我de 心——Wde X 王二小——wangerxiao a王二小——awangerxiao 0王0*#$;,,二小——0wang0*#$;,,erxiao 王二小——939(转化为手机键盘数字)

    探索PinYin4j.jar将汉字转换为拼音的基本用法

    Pinyin4j是一个功能强悍的汉语拼音工具包,是sourceforge.net上的一个开源项目。 主要的功能有: - 支持同一汉字有多个发音 - 支持拼音的格式化输出,比如第几声之类的 - 支持简体中文、繁体中文转换为拼音

    pinyin4j的使用代码实例

    NULL 博文链接:https://1358440610-qq-com.iteye.com/blog/1850618

    Java中汉字转拼音pinyin4j用法实例分析

    主要介绍了Java中汉字转拼音pinyin4j用法,结合实例形式较为详细的分析了pinyin4j库的具体使用技巧,需要的朋友可以参考下

    Java汉字转拼音pinyin4j用法详解

    主要介绍了Java汉字转拼音pinyin4j用法详解,需要的朋友可以参考下

    汉字转拼音java pinyin4j-2.5.0.jar

    一个功能很强大的中文转拼音的jar包及实例,虽然可以使用ASCII码来转化 但是这样的方法很少效率低下 不过使用了pinyin4j-2.5.0.jar可以标记声调

    Java汉字转拼音类库Pinyin4j详细使用方法与实例

    主要介绍了Java汉字转拼音类库Pinyin4j详细使用方法与实例,需要的朋友可以参考下

    pinyin4j-2.5.1.jar

    具体使用方法移步到这里: https://blog.csdn.net/pengfei1990/article/details/114368174

    PinYin4j的jar包.zip

    pinyin4j的使用很方便,一般转换只需要使用PinyinHelper类的静态工具方法,如果对于拼音转换后的结果有一些特定的格式要求目前pinyin4j支持: 声调格式化 对特殊拼音ü的的显示格式 大小写的转换。

    使用Pinyin4j进行拼音分词的方法

    下面小编就为大家分享一篇使用Pinyin4j进行拼音分词的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    jpinyin.jar

    JPinyin是一个汉字转拼音的Java开源类库 在PinYin4j的功能基础上做了一些改进 github地址https: github com stuxuhai jpinyin 使用方法: String str &quot;你好世界&quot;; PinyinHelper convertToPinyinString ...

    android搜索字母列表

    通讯录汉字转拼音(首个字符当考虑姓氏多音字), 现在转换拼音常见的有pinyin4j和tinypinyin, pinyin4j的功能强大,包含声调多音字,tinypinyin执行快占用内存少, 如果只是简单匹配通讯录,建议使用tinypinyin,用法也很...

    ListView快速索引A-Z

    2,使用pinyin4j-2.5.0.jar库,定义把汉字转化为拼音的方法, 3,把listview中的数据转化成拼音,并对其进行排序,进行绑定 4,自定义a-z控件,设置触摸touch事件,暴露接口,提供回调 5,根据按下索引位置的字母,...

    Android对多语言支持的代码例子

    Android对多语言支持的代码例子。用于演示app支持多国语言展示的使用方法,还演示了汉字转拼音的两种方案:Android自带的HanziToPinyin,以及pinyin4j。

Global site tag (gtag.js) - Google Analytics