【组件】java 汉字转拼音的方法

pinyin4j.jar  是核心工具包。

导入此工具包之后,常用方法 示例如下:

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 UtilPinYin {
	/**
	 * 得到指定中文字符串的拼音,如果是英文字母或空格的话,直接原样输出
	 * @param src 字符
	 * @return String 拼音的串
	 */
	public static String getPinYin(String src) {
		char[] t1 = null;
		t1 = src.toCharArray();
		String[] t2 = new String[t1.length];
		HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
		t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
		t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		t3.setVCharType(HanyuPinyinVCharType.WITH_V);
		String t4 = "";
		int t0 = t1.length;
		try {
			for (int i = 0; i < t0; i++) {
				if (Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
					t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
					t4 += t2[0];
				} else {
					t4 += Character.toString(t1[i]);
				}
			}
		} catch (BadHanyuPinyinOutputFormatCombination e) {
			e.printStackTrace();
		}
		return t4;
	}

	/**
	 * 得到每个字的拼音首字母,如果是英文字母或空格的话,直接原样输出
	 * @param str 字符
	 * @return String 拼音首字母
	 */
	public static String getPinYinHeadChar(String str) {
		String convert = "";
		for (int j = 0; j < str.length(); j++) {
			char word = str.charAt(j);
			String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
			if (pinyinArray != null) {
				convert += pinyinArray[0].charAt(0);
			} else {
				convert += word;
			}
		}
		return convert;
	}
	/**
	 * 得到中文字符的ASCII码
	 * @param cnStr 字符
	 * @return String ASCII码
	 */
	public static String getCnASCII(String cnStr) {
		StringBuffer strBuf = new StringBuffer();
		byte[] bGBK = cnStr.getBytes();
		for (int i = 0; i < bGBK.length; i++) {
			strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
		}
		return strBuf.toString();
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中有一个非常常用的繁简换库叫做opencc-java,它可以实现简体繁体、繁体简体、香港繁体简体、简体台湾繁体等多种换方式,而且支持换结果的保存和读取。 此外,对于中文拼音Java中也有一个很常用的库叫做pinyin4j,它可以将汉字换为拼音,并支持多种拼音风格的换。pinyin4j的使用也非常简单,只需要将其jar包导入项目中,然后在代码中调用相关API即可。 以下是opencc-javapinyin4j的使用示例: 1. 使用opencc-java进行简繁换 ```java import com.github.houbb.opencc4j.util.ZhConverterUtil; public class Demo { public static void main(String[] args) { String simplified = "简体中文"; String traditional = ZhConverterUtil.convertToTraditional(simplified); // 简体中文 -> 簡體中文 System.out.println(traditional); String hongKongTraditional = ZhConverterUtil.convertToHongKongTraditional(traditional); // 簡體中文 -> 繁體香港 System.out.println(hongKongTraditional); String taiwanTraditional = ZhConverterUtil.convertToTaiwanTraditional(traditional); // 簡體中文 -> 繁體台灣 System.out.println(taiwanTraditional); String simplified2 = ZhConverterUtil.convertToSimple(taiwanTraditional); // 繁體台灣 -> 簡體中文 System.out.println(simplified2); } } ``` 2. 使用pinyin4j进行中文拼音 ```java import net.sourceforge.pinyin4j.PinyinHelper; public class Demo { public static void main(String[] args) { String chinese = "中华人民共和国"; String[] pinyin = PinyinHelper.toHanyuPinyinStringArray(chinese); // 中华人民共和国 -> zhōng huá rén mín gòng hé guó for (String s : pinyin) { System.out.print(s + " "); } } } ``` 以上就是使用opencc-javapinyin4j进行繁简换和中文拼音的示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值