`

pinyin4j的一个例子(汉语转拼音)

    博客分类:
  • Java
阅读更多
下载地址:[url] http://pinyin4j.sourceforge.net/[/url]
Demo:
package cn.astrocom.itv.vod.server.web.util;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

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;

/**
 * Change chinese to pin yin 中文转拼音
 * 
 * @author chengbao_zhu(chanball)
 * 
 */
public class ChangeZhongWenToPinYin {
	// log
	private static Log log = LogFactory.getLog(ChangeZhongWenToPinYin.class);

	/**
	 * 获取拼音
	 * 
	 * @param zhongwen
	 * @return
	 * @throws BadHanyuPinyinOutputFormatCombination
	 */
	public static String getPinYin(String zhongwen)
			throws BadHanyuPinyinOutputFormatCombination {
		log.debug("-------->>Input ZhongWen=" + zhongwen);

		String zhongWenPinYin = "";
		char[] chars = zhongwen.toCharArray();

		for (int i = 0; i < chars.length; i++) {
			String[] pinYin = PinyinHelper.toHanyuPinyinStringArray(chars[i],
					getDefaultOutputFormat());
			// 当转换不是中文字符时,返回null
			if (pinYin != null) {
				zhongWenPinYin += capitalize(pinYin[0]);
			} else {
				zhongWenPinYin += chars[i];
			}
		}

		log.debug("-------->>Output PinYin=" + zhongWenPinYin);
		return zhongWenPinYin;
	}

	/**
	 * Default Format 默认输出格式
	 * 
	 * @return
	 */
	public static HanyuPinyinOutputFormat getDefaultOutputFormat() {
		HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
		format.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 小写
		format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 没有音调数字
		format.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON);// u显示

		return format;
	}

	/**
	 * Capitalize 首字母大写
	 * 
	 * @param s
	 * @return
	 */
	public static String capitalize(String s) {
		char ch[];
		ch = s.toCharArray();
		if (ch[0] >= 'a' && ch[0] <= 'z') {
			ch[0] = (char) (ch[0] - 32);
		}
		String newString = new String(ch);
		return newString;
	}

}

分享到:
评论
4 楼 robinjim 2009-12-01  
最后一个发音大部分情况下貌似是作为姓氏的发音
3 楼 timer 2009-11-04  
pinyin4j支持多音字的。
2 楼 chanball 2009-07-08  
每次转的时候,它都会生成一个数组,也就是说转一个词的时候,它会返回几个拼音的数组,这会不会是多音的支持呢,不过一般第一个是最准的,所以我的例子里选的就是第一个
1 楼 javaAK 2009-07-06  
楼主,貌似目前的pinyin4j不支持多音字哦

相关推荐

    pinyin4j 开发jar包

    pinyin4j,作为一个强大的Java库,专门用于解决这个问题,它使得开发者能够在Java应用程序中轻松实现汉字到拼音的转换。本文将详细介绍pinyin4j的核心功能、使用方法及其在实际开发中的应用。 一、pinyin4j简介 ...

    使用pinyin4j实现中文全拼例子netbeans

    `pinyin4j`是由Barry De Zwart开发的开源项目,它提供了简单易用的API,能够将汉字转换为汉语拼音,支持声母、韵母、声调等多种形式。这个库特别适用于那些需要处理中文字符串的Java应用程序,如搜索引擎、数据分析...

    pinyin4j版本为2.5.0

    pinyin4j是一个开源的Java库,设计用于将中文字符转换为汉语拼音。该库由Adam BIelik开发,提供了简单易用的API,使得开发者能够在项目中轻松集成拼音转换功能。在2.5.0版本中,pinyin4j已经相当成熟,具有较高的...

    汉语转拼音例子.rar

    总的来说,"汉语转拼音例子.rar"提供的资源可以帮助开发者快速理解和应用汉语转拼音技术,通过"Pinyin4j"库实现Java项目中的中文处理功能。无论是简单的文本处理还是复杂的自然语言处理任务,这个库都能提供有力的...

    获取中文首字母与全拼pinyin4j-2.5.0.jar

    Pinyin4j是由Barry De Zaater开发的一个开源Java库,它能够提供方便的API,将汉字转换成汉语拼音,包括首字母和全拼。这对于各种应用场景非常有用,如搜索优化、关键词提取、中文排序等。 在Pinyin4j-2.5.0.jar中,...

    pinyin4j jar包 相关实例 混排实例

    首先,pinyin4j是一个开源的Java库,主要功能是将汉字转换为汉语拼音,支持声调标注和多种拼音输出格式。在最新版本的jar包中,开发者可以期待更稳定、更高效的性能和更多元化的功能。确保使用的是最新版的pinyin4j...

    .net汉语转拼音例子

    汉语转拼音,也称为汉字拼音化,是将汉字转化为对应的汉语拼音的过程。在计算机中,这通常通过特定的算法和词典数据来完成。例如,GBK或Unicode编码下的汉字会被映射到对应的拼音表示。.NET框架提供了一些内置支持,...

    Java汉字转拼音(支持多音字)

    `Pinyin4j`是一个流行的Java库,专门用于处理汉字与拼音之间的转换,包括多音字的支持。使用这个库,开发者可以方便地获取汉字的声母、韵母以及声调等信息。 以下是一个简单的`Pinyin4j`使用示例: ```java import...

    ThinkPHP中文转拼音字母简单调用

    首先,我们要理解的是,中文转拼音主要是通过特定的算法和库来完成的,这些库能够将汉字映射到对应的汉语拼音。在这个案例中,我们看到一个名为`String.class.php`的文件,这可能是一个自定义的字符串处理类,包含了...

    汉字转拼音Delphi代码, 在Delphi2010下也可以实现

    汉字转拼音,即Hanyu Pinyin,是将汉字转换为其对应的汉语拼音的过程。这涉及到对汉字字符集(如GBK或Unicode)的理解以及汉字与拼音之间的映射关系。在Delphi中,我们可以利用TStringList、CharToOem、OemToChar等...

    汉字 转 拼音.rar

    Pinyin4j是一个流行的Java库,专门用于处理汉语拼音。它支持多音字(一个汉字有多个读音)的处理,并且可以提供声调信息。使用Pinyin4j,你可以轻松地将一个汉字或字符串中的所有汉字转换为拼音。以下是一个简单的...

    Java名字获取拼音

    这里我们将深入探讨如何利用开源库pinyin4j来完成汉字到拼音的转换,并提供一个完整的使用示例。 pinyin4j是一个强大的Java库,专门用于处理汉字和拼音之间的转换。它支持汉语拼音的多种格式,包括全拼、简拼、声调...

    java汉子转拼音

    例如,Pinyin4j是一个广泛使用的Java库,它提供了将汉字转换为拼音的API。使用Pinyin4j,我们可以轻松地获取一个汉字或字符串的拼音表示: ```java import net.sourceforge.pinyin4j.PinyinHelper; public class ...

    php 汉字转拼音单元php-pinyin-master.zip

    在这个例子中,`Pinyin`类提供了`convert`方法,它接收一个汉字字符串作为参数,然后返回转换后的拼音。库可能还提供了其他高级功能,比如: 1. **多音字处理**:对于有多种读音的汉字,库可能允许用户选择特定的...

    获取汉字汉语拼音首字母,UITableView中文也可以加index了pinyin.zipIOS应用例子源码下载

    获取汉字汉语拼音首字母,UITableView中文也可以加index了pinyin.zipIOS应用例子源码下载获取汉字汉语拼音首字母,UITableView中文也可以加index了pinyin.zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人...

    汉字转拼音的例子

    本项目提供了一个用C++实现的汉字转拼音的例子,帮助开发者理解如何将汉字转化为对应的汉语拼音。 首先,我们要明白汉字转拼音的基本原理。在计算机处理汉字时,通常会将其转换成对应的机内码或Unicode编码。拼音...

    汉字转成拼音 Java代码

    `Pinyin4j`是一个常用的Java库,它提供了方便的方法将汉字转换为汉语拼音。安装该库可以通过Maven或Gradle引入依赖: ```xml &lt;groupId&gt;com.belerweb&lt;/groupId&gt; &lt;artifactId&gt;pinyin4j &lt;version&gt;2.5.1 ``` 在...

    Visual C++汉字转拼音

    在Visual C++中,可以借助第三方库,如pinyin4cpp,这是一个C++编写的开源库,专门用于汉字转拼音。 安装pinyin4cpp库后,首先在项目中包含所需的头文件,并链接相应的库。在代码中,可以创建一个对象来处理汉字转...

    中文转拼音

    import cn.pinyin4j.core.PinyinHelper; public class PinyinConverter { public static void main(String[] args) { String chineseStr = "中国"; String[] pinyinArray = PinyinHelper....

    pingyin4j和开发说明

    在这个例子中,`PinyinHelper.toHanyuPinyinStringArray()`是`pingyin4j`的关键方法,它接收一个汉字字符并返回一个字符串数组,数组中的每个元素都是该汉字的一个可能的拼音。如果汉字只有一个读音,数组长度为1;...

Global site tag (gtag.js) - Google Analytics