`

pinyin4j常用方式

    博客分类:
  • Java
阅读更多
转载:http://apps.hi.baidu.com/share/detail/11434939

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

pinyin4j能够根据中文字符获取其对应的拼音,而且拼音的格式可以定制。

pinyin4j是一个支持将中文转换到拼音的Java开源类库。

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 Pinyin4jUtil {
	/**
	 * 将汉字转换为全拼
	 * 
	 * @param src
	 * @return String
	 */
	public static String getPinYin(String src) {
		char[] t1 = null;
		t1 = src.toCharArray();
		// System.out.println(t1.length);
		String[] t2 = new String[t1.length];
		// System.out.println(t2.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++) {
				// 判断能否为汉字字符
				// System.out.println(t1[i]);
				if (Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
					t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);// 将汉字的几种全拼都存到t2数组中
					t4 += t2[0];// 取出该汉字全拼的第一种读音并连接到字符串t4后
				} else {
					// 如果不是汉字字符,间接取出字符并连接到字符串t4后
					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
	 */
	public static String getCnASCII(String cnStr) {
		StringBuffer strBuf = new StringBuffer();
		// 将字符串转换成字节序列
		byte[] bGBK = cnStr.getBytes();
		for (int i = 0; i < bGBK.length; i++) {
			// System.out.println(Integer.toHexString(bGBK[i] & 0xff));
			// 将每个字符转换成ASCII码
			strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
		}
		return strBuf.toString();
	}

	public static void main(String[] args) {
		String cnStr = "中国";
		System.out.println(getPinYin(cnStr));
		System.out.println(getPinYinHeadChar(cnStr));
		System.out.println(getCnASCII(cnStr));
	}
}
分享到:
评论

相关推荐

    pinyin4j jar包

    2. **声调处理**:对于中文的四个声调,pinyin4j提供了多种处理方式。它可以保留声调信息,也可以将其转换为数字或字符表示,如一声无符号,二声以数字2表示,三声以3表示,四声以4表示,也可以使用'ā','á','ǎ','...

    pinyin4j所需jar包

    在pinyin4j库中,`PinYin4jUtils`是一个非常关键的类,它封装了大部分常用的功能。例如,通过`PinYin4jUtils.toHanyuPinyinStringArray(char)`方法,我们可以轻松地将一个汉字转换为其对应的拼音数组。此方法返回的...

    通过首字母查询pinyin4j-2.5.0 jar包及使用方法

    《通过首字母查询pinyin4j-2.5.0 jar包及使用方法》 在中文处理领域,拼音转换是一个常见的需求,特别是在编程环境中,如Java。pinyin4j库是一个专门为Java设计的开源库,它能将汉字转换为拼音,帮助我们实现基于...

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

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

    solr_pinyin

    在Solr中实现拼音检索,主要是通过插件机制,其中最常用的是"Pinyin4j"库。Pinyin4j是一个Java库,用于处理中文字符并将其转换为拼音。它可以将每个汉字转换为对应的拼音表示,这对于构建基于拼音的索引和查询非常...

    pinyin4j-2.5.0.jar

    javaweb/javaEE常用jar包,亲测可用,导入到java工程中使用

    pinyin4j-2.5.1.jar

    javaEE、javaweb常用jar包导入到eclipse或者idea中可以使用,需要其他版本请留言看到后我会上传资源给大家下载

    汉字转拼音常用的工具类

    本文将详细介绍三个主要的工具类:`PinYinUtil.java`、`HanziToPinyin.java`以及`pinyin4j-2.5.0.jar`,它们都是用于实现汉字转拼音功能的实用工具。 首先,`PinYinUtil.java`是一个自定义的汉字转拼音工具类,通常...

    中文转成拼音

    一个常用的库是`Pinyin4j`,这也是压缩包中可能包含的文件名"Pinyin"的来源。`Pinyin4j`是一个Java工具包,专门用于处理汉语拼音,包括获取汉字的全拼和首字母。 下面我们将详细介绍如何使用`Pinyin4j`库进行拼音...

    Java汉字转换拼音

    一个常用的库是`pinyin4j`,这是一个轻量级的Java库,专门用于处理汉字和拼音之间的转换。安装`pinyin4j`可以通过Maven或Gradle添加依赖到项目中。 对于使用`pinyin4j`库进行汉字转拼音的步骤如下: 1. 添加依赖:...

    汉语转拼音例子.rar

    在Java编程环境下,一个常用的库就是"Pinyin4j",这个库可以帮助开发者轻松地实现汉语到拼音的转换。"pinyin4j-2.5.0.jar"就是这个库的特定版本,它包含了所有必要的类和方法,可以集成到Java项目中使用。 "Pinyin4...

    汉字转换为拼音的方法

    其中,一个常用的库是`Pinyin4j`,这是一个轻量级的Java库,专门用于处理汉语拼音转换。在压缩包中的jar文件很可能就是`pinyin4j.jar`,它是实现这个功能的关键。 使用`Pinyin4j`库进行汉字转拼音的步骤如下: 1. ...

    汉字转拼音(包含首字母)工具类

    - 在Java中,最常用的汉字转拼音库是Pinyin4j。这个开源库提供了方便的方法来获取汉字的拼音和首字母。首先需要在项目中引入Pinyin4j库,可以通过Maven或Gradle添加依赖。 3. **Pinyin4j的使用** - 使用Pinyin4j...

    汉字 转 拼音.rar

    在Java中,我们通常借助第三方库来完成这个转换过程,例如Pinyin4j、Unpinyin等。 1. Pinyin4j库 Pinyin4j是一个流行的Java库,专门用于处理汉语拼音。它支持多音字(一个汉字有多个读音)的处理,并且可以提供声调...

    java程序把汉字转换成拼音

    但是,`pinyin4j`是目前最常用且功能最完善的库之一。 在实际开发中,如果你的项目中已经包含了一个jar包,那么你可以直接使用这个库进行汉字转拼音的处理,无需额外引入其他依赖。如果这个jar包没有提供足够的功能...

    java汉字转繁体和拼音

    在Java中,`Pinyin4j`库是一个常用工具,它可以将汉字转换为拼音。以下是一个简单的示例: ```java public class Main { public static void main(String[] args) { String chineseCharacter = "汉字"; ...

    java 中文转换拼音

    通常,UTF-8编码是最常用的,因为它是支持最多字符集的编码方式,包括中文字符。 - 如果你从文件或者网络读取数据,需要指定正确的字符编码,如`BufferedReader`的构造函数可以传入`StandardCharsets.UTF_8`。 3. ...

    java获取汉字的首字母

    一个常用的库是`Pinyin4j`,它是一个用于Java的中文拼音处理库,可以方便地获取汉字的全拼和首字母。 以下是一个使用`Pinyin4j`库获取汉字首字母的基本步骤: 1. **添加依赖**: 在项目中引入`Pinyin4j`库,如果是...

    跟益达学Solr5之拼音分词

    总之,Solr5的拼音分词功能结合了Pinyin4j等工具,为中文搜索引擎提供了强大的拼音支持,使得用户可以通过多种方式查找信息,提升了搜索体验。通过深入理解和配置,我们可以充分利用这一特性,构建更加智能和高效的...

Global site tag (gtag.js) - Google Analytics