java 汉字转拼音

项目业务需要增加一个汉字转拼音一个小插件,想了半天,也只能把字符转能字节,然后去比对字节数,最后在网上,无意间发现了一个小东西,搬出来一起分享下
package pinyin;

import net.sourceforge.pinyin4j.PinyinHelper;
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 PinYinMain {
	public static void main(String[] args) {
		HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();
		outputFormat.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
		outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		try {
			String str = "中国人";
			for (int i = 0; i < str.length(); i++) {
				String[] pins = PinyinHelper.toHanyuPinyinStringArray(str.charAt(i), outputFormat);
				System.out.print(pins[0]+"  ");
			}
		} catch (BadHanyuPinyinOutputFormatCombination e) {
			e.printStackTrace();
		}
	}
}


经过一些测试后,发现部分汉字的拼音不是很准,于是查看了下源码,其实现思路和之前考虑的一样,把汉字拆分成一个个字节,然后转码,最后和一个拼音库比较,很强悍哈,那个字典库就2W多行...

下载地址:http://sourceforge.net/projects/pinyin4j/

你可能感兴趣的:(java)