Java 汉字转拼音
1.TinyPinyin
功能:
适用于Java和Android的快速、低内存占用的汉字转拼音库。
特性:
- 生成的拼音不包含声调,均为大写;
- 支持自定义词典,支持简体中文、繁体中文;
- 执行效率很高(Pinyin4J的4~16倍);
- 很低的内存占用(不添加词典时小于30KB)。
使用:
汉字转拼音API
/**
* 如果c为汉字,则返回大写拼音;如果c不是汉字,则返回String.valueOf(c)
*/
String Pinyin.toPinyin(char c)
/**
* c为汉字,则返回true,否则返回false
*/
boolean Pinyin.isChinese(char c)
/**
* 将输入字符串转为拼音,转换过程中会使用之前设置的用户词典,以字符为单位插入分隔符
*/
String toPinyin(String str, String separator)
词典API
// 添加中文城市词典
Pinyin.init(Pinyin.newConfig().with(CnCityDict.getInstance());
// 添加自定义词典
Pinyin.init(Pinyin.newConfig()
.with(new PinyinMapDict() {
@Override
public Map<String, String[]> mapping() {
HashMap<String, String[]> map = new HashMap<String, String[]>();
map.put("重庆", new String[]{"CHONG", "QING"});
return map;
}
}));
添加到工程
buildscript {
repositories {
jcenter()
}
dependencies {
implementation 'com.github.promeg:tinypinyin:2.0.3' // TinyPinyin核心包,约80KB
implementation 'com.github.promeg:tinypinyin-lexicons-android-cncity:2.0.3' // 可选,适用于Android的中国地区词典
implementation 'com.github.promeg:tinypinyin-lexicons-java-cncity:2.0.3' // 可选,适用于Java的中国地区词典
}
}
githup
缺点
此项目不维护了,可能存在问题。一般情况下够我们使用的了,出现文字错误的问题,可以加自定义词典
文章地址
2.pinyin4j
3.pinyin
使用
Pinyin py = new Pinyin();
py.translate("汉");
4.Hanzi2PinyinHelper
缺点
不包含多音字的处理
优点
不依赖于任何其他资源,使用方式简单