outputFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE); //输出拼音为大写
// outputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); //输出拼音为小写
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(chineseCharacter, outputFormat); //汉字拼音
for(String str: pinyinArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}
String pinyinstr = PinyinHelper.toHanyuPinyinString("绿色", outputFormat, "|");
System.out.println(pinyinstr);
//其他拼音系统的输出
String[] GwoyeuRomatzyhStringArray = PinyinHelper.toGwoyeuRomatzyhStringArray(chineseCharacter);
for(String str: GwoyeuRomatzyhStringArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}
String[] MPS2PinyinStringArray = PinyinHelper.toMPS2PinyinStringArray(chineseCharacter);
for(String str: MPS2PinyinStringArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}
String[] TongyongPinyinStringArray = PinyinHelper.toTongyongPinyinStringArray(chineseCharacter);
for(String str: TongyongPinyinStringArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}
String[] WadeGilesPinyinStringArray = PinyinHelper.toWadeGilesPinyinStringArray(chineseCharacter);
for(String str: WadeGilesPinyinStringArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}
String[] YalePinyinStringArray = PinyinHelper.toYalePinyinStringArray(chineseCharacter);
for(String str: YalePinyinStringArray){ //多音字输出,会返回多音字的格式
System.out.println(str);
}
}
}
输出:
[html]
LU:4
LU4
LU:4|SE4
liuh
luh
liu4
lu4
lyu4
lu4
lu:4
lu4
lyu4
lu4
这个拼音包里还自带了一个demo, Pinyin4jAppletDemo.java
至于实现,其实很简单,就是有一个词典,汉字跟拼音的对应关系文件词典,unicode_to_hanyu_pinyin.txt是汉字的unicode字符对应的拼音对应表,pinyin_mapping.xml是汉语拼音系统跟其他系统的对照表,pinyin_Gwoyeu_mapping.xml是汉语系统跟Gwoyeu拼音系统的对照列表。格式参考如下,其实整理完这些之后就很容易实现了。
[html]
< xml version="1.0" >
[html]