0%

pinyin4j

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
String cn2Spell(String chinese) {
if (chinese == null || chinese.equals("")) {
return "";
} else {
StringBuffer pybf = new StringBuffer();
char[] arr = chinese.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (int i = 0; i < arr.length; i++) {
if (arr[i] > 128) {
try {
String[] str = PinyinHelper.toHanyuPinyinStringArray(
arr[i], defaultFormat);
if (str == null || str.length == 0) {
break;
}
pybf.append(PinyinHelper.toHanyuPinyinStringArray(
arr[i], defaultFormat)[0]);
} catch (BadHanyuPinyinOutputFormatCombination e) {
break;
}
} else {
pybf.append(arr[i]);
}
}
return pybf.toString();
}
}