package com.linju.android_property.utils;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
public class PinyinUtils {
private static HanyuPinyinOutputFormat spellFormat = new HanyuPinyinOutputFormat();
static {
spellFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
spellFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
spellFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
}
public static String chineneToSpell(String chineseStr){
StringBuffer result = new StringBuffer();
try {
for (char c : chineseStr.toCharArray()) {
if (c > 128) {
String[] array = PinyinHelper.toHanyuPinyinStringArray(c, spellFormat);
if (array != null && array.length > 0)
result.append(array[0]);
else
result.append(" ");
} else
result.append(c);
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result.toString();
}
}