JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。
github:https://github.com/stuxuhai/jpinyin
<dependency>
<groupId>com.github.stuxuhai</groupId>
<artifactId>jpinyin</artifactId>
<version>1.1.7</version>
</dependency>
1、准确、完善的字库;
Unicode编码从4E00-9FA5范围及3007(〇)的20903个汉字中,JPinyin能转换除46个异体字(异体字不存在标准拼音)之外的所有汉字;
2、拼音转换速度快;
经测试,转换Unicode编码从4E00-9FA5范围的20902个汉字,JPinyin耗时约100毫秒。
3、多拼音格式输出支持;
JPinyin支持多种拼音输出格式:带音标、不带音标、数字表示音标以及拼音首字母输出格式;
4、常见多音字识别;
JPinyin支持常见多音字的识别,其中包括词组、成语、地名等;
5、简繁体中文转换;
6、支持添加用户自定义字典;
try {
String str = "你好世界";
//设置声调表示格式
System.out.println(PinyinHelper.convertToPinyinString(str, ",", PinyinFormat.WITH_TONE_MARK)); // nǐ,hǎo,shì,jiè
//数字表示声调
System.out.println(PinyinHelper.convertToPinyinString(str, ",", PinyinFormat.WITH_TONE_NUMBER)); // ni3,hao3,shi4,jie4
//无声调
System.out.println( PinyinHelper.convertToPinyinString(str, ",", PinyinFormat.WITHOUT_TONE)); // ni,hao,shi,jie
//获取拼音首字母
System.out.println(PinyinHelper.getShortPinyin(str)); // nhsj
//判断是否多音字
System.out.println(PinyinHelper.hasMultiPinyin('啊'));//true
} catch (PinyinException e) {
e.printStackTrace();
}
try {
//简体转繁体
char traditionalChinese = ChineseHelper.convertToTraditionalChinese('义');
//繁体转简体
char simplifiedChinese = ChineseHelper.convertToSimplifiedChinese('義');
System.out.println(traditionalChinese);
System.out.println(simplifiedChinese);
//判断是否是汉字
System.out.println(ChineseHelper.isChinese('義'));//true
} catch (PinyinException e) {
e.printStackTrace();
}