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(); } }
|