Java汉字转拼音
由于项目中有类似通讯录的模块,所以查询了网上的汉字转拼音的方法,进行测试Java 汉字转拼音方法汇总
测试文字
嫑biào 窵diào 覅fiào 誩jìng 嘦jiào
両liǎng 燊shēn 砼tóng 勰xié 顕xiǎn
嫑窵覅誩嘦両燊砼勰顕
bdfjjlstxx
由于多方面的因素,未去优化代码 和 测试代码的性能,感兴趣的可以自行测试
方法名: ChineseCharToEn
识别结果:bd覅jjlstxx
识别率: 90%
原理:某种算法
缺点:只支持GB2312字符
方法名:ChineseToPinYin
识别结果:*gyz******
识别率: 30%
原理:某种算法
缺点:识别率低
方法名:CnToPy
识别结果:bd覅jjlstxx
识别率: 90%
原理:调用系统PinyinHelper类,比较稳当
缺点:还是存在无法识别的
方法名:CnToSpell
识别结果:嫑gyz嘦両燊砼勰顕
识别率: 0%
原理:莫种算法
缺点:基本无法识别冷僻字
方法名:CnToSpellUtils
识别结果: b窵f誩嘦両stxx
识别率: 60%
原理:利用输入法的码表导出
缺点:识别率不是很好,据说可以识别近99%的汉字
方法名:FirstLetterUtil
识别结果: 嫑窵覅誩嘦両燊zz顕
识别率: 0%
原理:莫种算法
缺点:基本无法识别冷僻字
方法名:HanziToPinyin
识别结果: zz覅誩zzzyj顕
识别率: 0%
原理:莫种算法
缺点:基本无法识别冷僻字
方法名:PingYinUtil
识别结果: bdjgjlstxx
识别率: 80%
原理:调用系统PinyinHelper类,比较稳当
缺点:还是存在无法识别的
方法名:Pinyin
识别结果: bd覅jjlstxx
识别率: 90%
原理:调用系统PinyinHelper类,比较稳当
缺点:还是存在无法识别的
方法名:Pinyin4jUtil (网上推荐的方法,实际结果不敢恭维)
识别结果: ???jjlstxx(会崩溃,单独测试)
识别率: 70%
原理:调用jar包pinyin4j
缺点:如果未加判断,会直接崩溃
方法名:SpellHelper
识别结果: bd覅jjlstxx
识别率: 90%
调用系统PinyinHelper类,比较稳当
缺点:还是存在无法识别的
方法名:Trans2PinYin
识别结果: ???????zuozuo?
识别率: 0%
原理:莫种算法
缺点:基本无法识别冷僻字
测试代码下载地址:http://yunpan.cn/cyJUUxV4YMbGm访问密码 0427
总结:一开始打算用系统PinyinHelper类,后来又高手告知,可以调用系统的那个HanziToPinyin.java类,
由于测试的时候那个类在华为P6测试机上没有启动成功,而且项目已经在测试,没时间去研究,所以暂时搁置,
现在项目已经结束,下一篇再来分析那个很牛逼的源码
收藏先 用的上
页:
[1]