`
ydbc
  • 浏览: 718304 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Java汉字转拼音pinyin4j用法

 
阅读更多

汉字转换拼音在日常开发中是个很常见的问题。例如我们伟大的12306,在地名中输入“WH”,就会出现“武汉”“芜湖”“威海”等地名,输入“WUHU”就会出现“芜湖”。

Java获取汉字的拼音,pinyin4j这个库可以很好的解决这个问题。

下载地址:http://sourceforge.net/projects/pinyin4j/

下载解压,里面有个pinyin4j-2.5.0.jar,使用这个库即可。

汉字转拼音:

String[] pinyin = PinyinHelper.toHanyuPinyinStringArray('重');

上面这行代码就是单个汉字转拼音了,例如“重”字,该方法返回一个String类型的数组

"zhong4"

"chong2"

“重”是一个多音字,该方法的返回数组包含这个字的所有读音的拼音。每个读音最后有个数字就是音调(第一声 第二声 第三声 第四声,这个不用解释了)。

上面是最简单的一种获取单个汉字的方式,还可以使用HanyuPinyinOutputFormat来格式化返回拼音的格式。


HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); 

// UPPERCASE:大写  (ZHONG)
// LOWERCASE:小写  (zhong)
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);

// WITHOUT_TONE:无音标  (zhong)
// WITH_TONE_NUMBER:1-4数字表示英标  (zhong4)
// WITH_TONE_MARK:直接用音标符(必须WITH_U_UNICODE否则异常)  (zhòng)
format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);

// WITH_V:用v表示ü  (nv)
// WITH_U_AND_COLON:用"u:"表示ü  (nu:)
// WITH_U_UNICODE:直接用ü (nü)
format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
		
String[] pinyin = PinyinHelper.toHanyuPinyinStringArray('重', format);

toHanyuPinyinStringArray如果传入的字符不是汉字不能转换成拼音,那么会直接返回null

虽然pinyin4j很好用,但是还是有局限的。以上代码只能获取单个汉字的拼音,但是不能获取一个包含多音字的词的拼音。例如“重庆”,无法判断到底是“chongqing”还是“zhongqing”,pinyin4j不能通过上下文来判断多音字的读音。

所以,在获取一个包含多音字的词语的读音,可以返回一个列表,正确的读音只能是人工判断选择。


作者:叉叉哥 转载请注明出处:http://blog.csdn.net/xiao__gui/article/details/8558620



分享到:
评论

相关推荐

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

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

    java汉字转拼音代码+lib库

    java 汉字转拼音代码+库,里面有详细的使用方法,使用的时候直接调用getPinyin即可。

    汉字转拼音java pinyin4j-2.5.0.jar

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

    Java汉字转拼音pinyin4j用法详解

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

    汉字转拼音源码

    本文件是Java系统里面需要汉字转拼音的地方。用法简单。API相当好用。希望能对你们有所帮助,如果有需要帮助的请留言

    java开发使用的汉字转拼音

    代码中包含main方法,初学者也能很快上手 简单的调用,汉字直接可以转换成拼音

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

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

    Java获取几乎全部(U4E00至U9FFF)汉字的拼音

    使用方法:使用Read类的getHashMap()方法获取汉字拼音表,获取到的hashMap中提供汉字的Unicode码(int),得到返回的Pinyin[],每个读音对应一个Pinyin,其中将包含该汉字的拼音(可分别获取声母、介韵母、韵母、声调...

    汉字转拼音(支持多音字)

    android,java汉字转拼音和转为简拼,支持多音字,经过调试,可以直接使用,用到piny4j的jar也已经写好了使用方法,不会报类找不到异常,可

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

    标签:belerweb、pinyin4j、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...

    java获取中文拼音首字母工具类定义与用法实例

    主要介绍了java获取中文拼音首字母工具类定义与用法,结合实例形式分析了java获取中文拼音首字母工具类的具体定义、使用方法及相关操作注意事项,需要的朋友可以参考下

    Java实现将汉字转化为汉语拼音的方法

    主要介绍了Java实现将汉字转化为汉语拼音的方法,实例演示了Java引用pinyin4j库实现汉子转化成拼音的使用技巧,需要的朋友可以参考下

    pinyin4j工具类和jar包

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

    java开源包4

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

    elasticsearch拼音分词器

    elasticsearch拼音分词器,拼音分词器用法同中文分词器用法一样

    Java编程实现中英混合字符串数组按首字母排序的方法

    在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[] arrays = new String[] { gyu, sdf, zf, 大同, 收到, 地方, 三等分, 的人, 反对高铁, 泛代数, 上的投入...

    java开源包8

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

    java开源包11

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

    java开源包6

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

    java开源包9

    中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 ...

Global site tag (gtag.js) - Google Analytics