用jpinyin实现汉字转拼音功能 - developer_Kale - 博客园

标签: | 发表时间:2017-06-22 23:06 | 作者:
分享到:
出处:http://www.cnblogs.com

 

一、简介

项目地址:https://github.com/stuxuhai/jpinyin

JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。

【JPinyin主要特性】

1、准确、完善的字库;

Unicode编码从4E00-9FA5范围及3007(〇)的20903个汉字中,JPinyin能转换除46个异体字(异体字不存在标准拼音)之外的所有汉字;

2、拼音转换速度快;

经测试,转换Unicode编码从4E00-9FA5范围的20902个汉字,JPinyin耗时约100毫秒。

3、多拼音格式输出支持;

JPinyin支持多种拼音输出格式:带音标、不带音标、数字表示音标以及拼音首字母输出格式;

4、常见多音字识别;

JPinyin支持常见多音字的识别,其中包括词组、成语、地名等;

5、简繁体中文转换

 

Jpinyin里面一共有四个类:

  • ChineseHelper.java     汉字简繁体转换类
  • PinyinFormat.java         拼音格式类
  • PinyinHelper.java          汉字转拼音类
  • PinyinResource.java    资源文件加载类

 

二、主要方法介绍

2.1 convertToPinyinString(Stringstr,Stringseparator)

/*** 将字符串转换成相应格式的拼音
 *@paramstr 需要转换的字符串
 *@paramseparator 拼音分隔符
 *@return字符串的拼音*/publicstaticString convertToPinyinString(String str, String separator, PinyinFormat pinyinFormat)

结果:

      String words = "和气生财";finalString separator = " ";//hé qì shēng cái (默认格式)PinyinHelper.convertToPinyinString(words, separator);

 

2.2 convertToPinyinString(String str, String separator, PinyinFormat pinyinFormat)

/**

 * 将字符串转换成相应格式的拼音

 * @param str 需要转换的字符串

 * @param separator 拼音分隔符

 * @param pinyinFormat 拼音格式:WITH_TONE_NUMBER--数字代表声调,WITHOUT_TONE--不带声调,WITH_TONE_MARK--带声调

 * @return 字符串的拼音

 */

public static String convertToPinyinString(String str, String separator, PinyinFormat pinyinFormat)

结果:

   String str = "你好世界";

PinyinHelper.convertToPinyinString(str,
",", PinyinFormat.WITH_TONE_MARK);//nǐ,hǎo,shì,jièPinyinHelper.convertToPinyinString(str, ",", PinyinFormat.WITH_TONE_NUMBER);//ni3,hao3,shi4,jie4PinyinHelper.convertToPinyinString(str, ",", PinyinFormat.WITHOUT_TONE);//ni,hao,shi,jie

 

2.3 getShortPinyin(String str)

/*** 获取字符串对应拼音的首字母
 *@paramstr 需要转换的字符串
 *@return对应拼音的首字母*/publicstaticString getShortPinyin(String str)

结果:

String str = "你好世界";PinyinHelper.getShortPinyin(str);//nhsj

 

2.4 convertToPinyinArray(char c)
/*** 将单个汉字转换为相应格式的拼音
 *@paramc 需要转换成拼音的汉字
 *@return汉字的拼音*/publicstaticString[] convertToPinyinArray(charc)

结果:

String words = "和气生财";


//
hé hè huó huò húpinyins = PinyinHelper.convertToPinyinArray(words.toCharArray()[0]);

 

2.5 convertToPinyinArray(char c,PinyinFormatpinyinFormat)

/*** 将单个汉字转换为相应格式的拼音
 *@paramc 需要转换成拼音的汉字
 *@parampinyinFormat 拼音格式:WITH_TONE_NUMBER--数字代表声调,WITHOUT_TONE--不带声调,WITH_TONE_MARK--带声调
 *@return汉字的拼音*/publicstaticString[] convertToPinyinArray(charc, PinyinFormat pinyinFormat)

结果:

String words = "和气生财";


//
hé hè huó huò húpinyins = PinyinHelper.convertToPinyinArray(words.toCharArray()[0], PinyinFormat.WITH_TONE_MARK);

 

2.6 hasMultiPinyin(char c)

/*** 判断一个汉字是否为多音字
 *@paramc 汉字
 *@return判断结果,如果是返回true,否则返回false*/publicstaticbooleanhasMultiPinyin(charc)

结果:

 //falseprintln(PinyinHelper.hasMultiPinyin('李'));

 

 

源码下载:

 

大部分内容参考自:http://blog.csdn.net/ekeuy/article/details/40079475?utm_source=tuicool

 

相关 [jpinyin 现汉 拼音] 推荐:

用jpinyin实现汉字转拼音功能 - developer_Kale - 博客园

- -
项目地址:https://github.com/stuxuhai/jpinyin. JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进. Unicode编码从4E00-9FA5范围及3007(〇)的20903个汉字中,JPinyin能转换除46个异体字(异体字不存在标准拼音)之外的所有汉字;.

智能拼音

- jerry - Joyloft-Zenzen的酒楼
有人装纯洁的,就有人装更纯洁的、. 看到公司论坛有人问,TJJTDS是什么意思. 就有人回复,我也不知道,不过我的拼音输入法打出来的是:“他晋级他得胜”. 然后有人纠正:是“他拒绝她的说”;. 然后又有人纠正:“太极集团董事”;. 接着有人反驳:“天津交通堵塞”;. 最后最邪恶的人出来了,他的拼音打出来是:“舔鸡鸡舔到射”….

Ruby世界:汉字转换成拼音

- 董玉伟 - 道喜技术日记 .^. 天天红玉世界

谷歌拼音的脑补优化

- CandyFrankie - 月光博客
  前些天看月光一篇讨论Google拼音的文章有感. 这里提供一个思路,让输入法更简单而不是更复杂. 文中有洁癖、偏执、妄想、超现实内容,如果引起您的不适请自便. 我没有长时间用过紫光和Google以外的任何输入法. 如果文中的一些想法有抄袭其他输入法的嫌疑,那么请推荐给我那个输入法,我立刻去用.   现在Google输入法的UI右边有两个切换按钮.

谷歌拼音输入法 v2.5.16.94

- 介潤 - cnBeta.COM
版本2.5.16.94 2011/08/18. 修复了在某些情况下同步和升级功能不正常的问题.

谷歌拼音输入法v2.6.17.98

- 高春辉 - cnBeta.COM
版本 2.6.17.98 2011/08/25. 增加语音输入功能,本功能需要在联网状态下使用. 修复分类词库的若干兼容性问题.

谷歌拼音输入法2.7.19.104

- 軒轅無雙 - cnBeta.COM
版本 2.7.19.104 2011/09/30. 新增个性换肤功能,并精心设计制作 20 余款 Google 徽标和 Android 风格的个性皮肤.

Android中文按拼音排序

- - 移动开发 - ITeye博客
需求:将一组数据按某一字段中文拼音排序. 其中strList中放置了数据,可以是任何对象,但要对PinyinComparator中的compare进行对应的修改,我Demo中为String[]. 2、PinyinComparator排序类:. * 将字符串中的中文转化为拼音,其他字符不变. char[] input = inputString.trim().toCharArray();// 把字符串转化成字符数组.

Levenshtein 自动机(拼音纠错)

- -
原文: http://blog.jobbole.com/80659/. 在上一期的超酷算法中,我们聊到了BK树,这是一种非常聪明的索引结构,能够在搜索过程中进行模糊匹配,它基于编辑距离 (Levenshtein distance),或者任何其它服从三角不等式的度量标准. 今天,我将继续介绍另一种方法,它能够在常规索引中进行模糊匹配搜索,我们将它称之为 Levenshtein自动机.

谷歌拼音输入法 for Android 升级到1.4.0

- 太平犬 - 谷安——谷奥Android专题站
本文由 im007boy 撰写. 再距离上次更新N久之后,Android版的谷歌拼音输入法今天升级到1.4.0,除了修复了一些崩溃和错误,加入了语音输入. 安装后在 设置-语音和键盘 中开启谷歌输入法. 输入时按小麦克风图标,并说话即可使用语音输入功能. 从拼音面板进入会对语音做中文识别;从英文面板进入会做英文识别.