`

汉字转拼音(pinyin4j)

阅读更多

 

今天看了一篇博客(http://guyexin-126-com.iteye.com/blog/842954)里说关于pinyin4j的即将汉字转成汉语拼音,感觉在有的个别项目中确实可能用到,而这又属于公用的,所以决定在自己的博客里多分一个Util类,即总结收集可以作为工具类,如果大家也有这些比较好的工具类可以交流交流。

今天就列pinyin4j吧,刚才也说了pinyin4j是的作用就是将汉字转成汉语拼音,pinyin4j就是一个支持中文转中文拼音的Java开源类库。

其主页:http://pinyin4j.sourceforge.net/

package com.iflytek.pinyin4j;

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;

/**
 * @author xudongwang 2012-1-11
 * 
 *         Email:xdwangiflytek@gmail.com
 */
public class Pinyin4jUtil {

	public static void main(String[] args) {
		String str = "王旭东";
		System.out.println(getPinYin(str));
		System.out.println(getPinYinHeadChar(str));
		System.out.println(getStrASCII(str));
	}

	/**
	 * 将汉字转换为全拼
	 * 
	 * @param str
	 *            汉字
	 * @return String 返回汉字的全拼音
	 */
	public static String getPinYin(String str) {
		char[] strCharArray = null;
		strCharArray = str.toCharArray();
		String[] pinYinArray = new String[strCharArray.length];
		// 设置汉字拼音输出的格式
		HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
		//设置拼音的大小写,UPPERCASE表示大写,LOWERCASE表示小写
		format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
		format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		format.setVCharType(HanyuPinyinVCharType.WITH_V);
		String result = "";
		int flag = strCharArray.length;
		try {
			for (int i = 0; i < flag; i++) {
				// 判断能否为汉字字符
				if (Character.toString(strCharArray[i]).matches("[\\u4E00-\\u9FA5]+")) {
					pinYinArray = PinyinHelper.toHanyuPinyinStringArray(strCharArray[i], format);// 将汉字的几种全拼都存到pinYinArray数组中
					result += pinYinArray[0];// 取出该汉字全拼的第一种读音并连接到字符串result后
				} else {
					// 如果不是汉字字符,间接取出字符并连接到字符串result后
					result += Character.toString(strCharArray[i]);
				}
			}
		} catch (BadHanyuPinyinOutputFormatCombination e) {
			e.printStackTrace();
		}
		return result;
	}

	/**
	 * 提取每个汉字的首字母
	 * 
	 * @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 str
	 *            需要转换的字符串
	 * @return String 字符串转换后的ASCII码
	 */
	public static String getStrASCII(String str) {
		StringBuffer strBuf = new StringBuffer();
		// 将字符串转换成字节序列
		byte[] bGBK = str.getBytes();
		for (int i = 0; i < bGBK.length; i++) {
			// 将每个字符转换成ASCII码
			strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
		}
		return strBuf.toString();
	}

}

 说明:

HanyuPinyinOutputFormat格式:

其他具体的方法参数等可以参考官网给出的文档;

 

  • 大小: 22.4 KB
3
1
分享到:
评论

相关推荐

    java安卓android汉字转拼音中文转拼音pinyin4j简化精简版

    java安卓android汉字转拼音中文转拼音pinyin4j简化精简版. 网上流传的有180KB,太大了,对于android开发来说。我精简了很多无关内容,收录常用汉字大约2万个,完全够用了,还专门写了一个helper类,直接调用这个...

    汉字转拼音库pinyin4j

    《汉字转拼音库pinyin4j与Sparta库解析》 在Java开发中,有时候我们需要将汉字转换为对应的拼音,以便进行各种处理,比如文本分析、搜索索引或者语音合成等。这时,我们就需要借助特定的库来完成这项工作。"汉字转...

    中文转拼音工具类,pinyin4j-2.5.0.jar 适用于地址人名

    《中文转拼音工具类——pinyin4j-2.5.0.jar 在处理地址与人名中的应用》 在处理中文数据时,有时我们需要将汉字...通过合理利用pinyin4j提供的API,开发者可以极大地提高工作效率,简化涉及中文拼音转换的项目开发。

    基于java的开发源码-中文转拼音库 pinyin4j.zip

    基于java的开发源码-中文转拼音库 pinyin4j.zip 基于java的开发源码-中文转拼音库 pinyin4j.zip 基于java的开发源码-中文转拼音库 pinyin4j.zip 基于java的开发源码-中文转拼音库 pinyin4j.zip 基于java的开发源码-...

    汉字转拼音大小写全拼首字母pinyin4j-jar

    《汉字转拼音:pinyin4j-jar工具详解》 在信息技术领域,处理中文字符时,经常需要将汉字转换为拼音,以便进行各种文本处理任务,如搜索、语音合成等。pinyin4j是一个广泛使用的Java库,专门用于实现这个功能。本文...

    汉字转换拼音pinyin4j

    汉字 转换 拼音

    pinyin4j-2.5.0.jar 下载 java汉字转拼音 jar包 附带超级简单小dome

    《pinyin4j-2.5.0.jar:Java实现汉字转拼音的高效工具》 在信息化时代,处理中文字符成为许多开发者的必备技能。在Java编程语言中,pinyin4j是一个非常实用的库,它能将汉字转换为拼音,从而解决了在处理汉字排序、...

    汉语转换成拼音的jar包pinyin4j-2.5.0版本

    `pinyin4j`库的使用并不复杂,但它的功能强大,可以满足大部分汉语转拼音的需求。在处理大量汉字文本时,`pinyin4j`的高效性能和准确度使得它成为Java开发者的首选工具。无论是进行文本分析,还是创建具有拼音功能的...

    pinyin4j的简化版 汉字转成拼音

    《汉字转拼音:pinyin4j的简化版详解》 在中文信息处理领域,将汉字转化为拼音是一项基础且重要的任务,广泛应用于搜索引擎、输入法、语音识别等多个场景。pinyin4j是一个广受欢迎的Java库,它提供了高效、便捷的...

    汉字转拼音java pinyin4j-2.5.0.jar

    `pinyin4j-2.5.0.jar`是一个专门为Java设计的库,专门用于将汉字转换为拼音,且支持声调标记,极大地提高了处理效率和准确性。在这个库的帮助下,开发者无需关心复杂的汉字到拼音的映射规则,只需简单调用API即可...

    汉字转拼音类(内含pinyin4j-2.5.0.jar)

    "汉字转拼音类(内含pinyin4j-2.5.0.jar)" 提供了一个方便的解决方案。这个压缩包包含了一个预封装好的Java类,专门用于实现汉字到拼音的转换,并且依赖于pinyin4j库,版本号为2.5.0。 pinyin4j是一个开源的Java库...

    pinyin4j最新jar包,汉字转pinyin必备

    总的来说,pinyin4j作为一款高效的汉字转拼音工具,凭借其强大的功能和易用性,已经成为了Java开发者处理中文字符的重要选择。配合源码的开放,它不仅提供了强大的拼音转换能力,也为开发者提供了无限的扩展可能。在...

    pinyin4j.zip pinyin4j.jar

    由于Android系统本身的局限性,原生SDK并不提供汉字转拼音的功能,而Pinyin4j作为一个轻量级的库,能够轻松集成到Android项目中,用于实现诸如汉字排序、关键词搜索、拼音输入法等功能。通过使用Pinyin4j,开发者...

    pinyin4j-2.5.1.jar

    pinyin4j-2.5.1.jar、汉字转拼音 pinyin4j-2.5.1.jar、汉字转拼音 pinyin4j-2.5.1.jar、汉字转拼音

    汉语转拼音之pinyin4j 通用类

    总之,"汉语转拼音之pinyin4j 通用类" 是Java开发中处理汉字到拼音转换的一个强大工具,它提供了丰富的功能,易于集成,并能适应各种复杂的中文处理需求。无论是初学者还是经验丰富的开发者,都可以从中受益,提高...

    将简体中文和繁体中文转换拼音的jar包 pinyin4j-2.5.0.jar

    《使用pinyin4j库进行中文到拼音转换的详解》 在处理中文字符时,有时我们...通过简单调用其提供的API,开发者可以方便地处理汉字、词语乃至整个句子的拼音转换,无论是简体中文还是繁体中文,pinyin4j都能游刃有余。

    pinyin4j.jar中文转拼音及多音字配置文件

    Java pinyin4j.jar中文转拼音 详细可查看我的博客https://me.csdn.net/Extraordinarylife 中《Java pinyin4j.jar中文转拼音 》

    汉字转拼音pinyin4j-2.5.0.jar

    简单实用,功能强大的拼音和汉字互转的工具,还可以选择是否使用音调等等

    pinyin4j-2.5.0.jar 中文转化拼音,获取首字母

    总的来说,pinyin4j-2.5.0.jar是一个高效、实用的工具,对于处理中文拼音转换的工作提供了极大的便利。无论是在文本分析、搜索引擎优化还是其他涉及中文拼音的场景,它都能发挥重要作用。了解并熟练使用pinyin4j,...

    中文转拼音:pinyin4j-2.5.0包及实例

    总之,`pinyin4j-2.5.0`包是Java开发人员处理中文转拼音问题的得力工具,通过其丰富的功能和简单的API,可以轻松地集成到各种项目中,提高开发效率。理解和熟练使用这个库,对于提升Java应用在处理中文内容时的灵活...

Global site tag (gtag.js) - Google Analytics