下载地址:[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;
}
}
分享到:
- 2009-07-03 12:50
- 浏览 2744
- 评论(4)
- 论坛回复 / 浏览 (4 / 7755)
- 查看更多
相关推荐
pinyin4j,作为一个强大的Java库,专门用于解决这个问题,它使得开发者能够在Java应用程序中轻松实现汉字到拼音的转换。本文将详细介绍pinyin4j的核心功能、使用方法及其在实际开发中的应用。 一、pinyin4j简介 ...
`pinyin4j`是由Barry De Zwart开发的开源项目,它提供了简单易用的API,能够将汉字转换为汉语拼音,支持声母、韵母、声调等多种形式。这个库特别适用于那些需要处理中文字符串的Java应用程序,如搜索引擎、数据分析...
pinyin4j是一个开源的Java库,设计用于将中文字符转换为汉语拼音。该库由Adam BIelik开发,提供了简单易用的API,使得开发者能够在项目中轻松集成拼音转换功能。在2.5.0版本中,pinyin4j已经相当成熟,具有较高的...
总的来说,"汉语转拼音例子.rar"提供的资源可以帮助开发者快速理解和应用汉语转拼音技术,通过"Pinyin4j"库实现Java项目中的中文处理功能。无论是简单的文本处理还是复杂的自然语言处理任务,这个库都能提供有力的...
Pinyin4j是由Barry De Zaater开发的一个开源Java库,它能够提供方便的API,将汉字转换成汉语拼音,包括首字母和全拼。这对于各种应用场景非常有用,如搜索优化、关键词提取、中文排序等。 在Pinyin4j-2.5.0.jar中,...
首先,pinyin4j是一个开源的Java库,主要功能是将汉字转换为汉语拼音,支持声调标注和多种拼音输出格式。在最新版本的jar包中,开发者可以期待更稳定、更高效的性能和更多元化的功能。确保使用的是最新版的pinyin4j...
汉语转拼音,也称为汉字拼音化,是将汉字转化为对应的汉语拼音的过程。在计算机中,这通常通过特定的算法和词典数据来完成。例如,GBK或Unicode编码下的汉字会被映射到对应的拼音表示。.NET框架提供了一些内置支持,...
`Pinyin4j`是一个流行的Java库,专门用于处理汉字与拼音之间的转换,包括多音字的支持。使用这个库,开发者可以方便地获取汉字的声母、韵母以及声调等信息。 以下是一个简单的`Pinyin4j`使用示例: ```java import...
首先,我们要理解的是,中文转拼音主要是通过特定的算法和库来完成的,这些库能够将汉字映射到对应的汉语拼音。在这个案例中,我们看到一个名为`String.class.php`的文件,这可能是一个自定义的字符串处理类,包含了...
汉字转拼音,即Hanyu Pinyin,是将汉字转换为其对应的汉语拼音的过程。这涉及到对汉字字符集(如GBK或Unicode)的理解以及汉字与拼音之间的映射关系。在Delphi中,我们可以利用TStringList、CharToOem、OemToChar等...
Pinyin4j是一个流行的Java库,专门用于处理汉语拼音。它支持多音字(一个汉字有多个读音)的处理,并且可以提供声调信息。使用Pinyin4j,你可以轻松地将一个汉字或字符串中的所有汉字转换为拼音。以下是一个简单的...
这里我们将深入探讨如何利用开源库pinyin4j来完成汉字到拼音的转换,并提供一个完整的使用示例。 pinyin4j是一个强大的Java库,专门用于处理汉字和拼音之间的转换。它支持汉语拼音的多种格式,包括全拼、简拼、声调...
例如,Pinyin4j是一个广泛使用的Java库,它提供了将汉字转换为拼音的API。使用Pinyin4j,我们可以轻松地获取一个汉字或字符串的拼音表示: ```java import net.sourceforge.pinyin4j.PinyinHelper; public class ...
在这个例子中,`Pinyin`类提供了`convert`方法,它接收一个汉字字符串作为参数,然后返回转换后的拼音。库可能还提供了其他高级功能,比如: 1. **多音字处理**:对于有多种读音的汉字,库可能允许用户选择特定的...
获取汉字汉语拼音首字母,UITableView中文也可以加index了pinyin.zipIOS应用例子源码下载获取汉字汉语拼音首字母,UITableView中文也可以加index了pinyin.zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人...
本项目提供了一个用C++实现的汉字转拼音的例子,帮助开发者理解如何将汉字转化为对应的汉语拼音。 首先,我们要明白汉字转拼音的基本原理。在计算机处理汉字时,通常会将其转换成对应的机内码或Unicode编码。拼音...
`Pinyin4j`是一个常用的Java库,它提供了方便的方法将汉字转换为汉语拼音。安装该库可以通过Maven或Gradle引入依赖: ```xml <groupId>com.belerweb</groupId> <artifactId>pinyin4j <version>2.5.1 ``` 在...
在Visual C++中,可以借助第三方库,如pinyin4cpp,这是一个C++编写的开源库,专门用于汉字转拼音。 安装pinyin4cpp库后,首先在项目中包含所需的头文件,并链接相应的库。在代码中,可以创建一个对象来处理汉字转...
import cn.pinyin4j.core.PinyinHelper; public class PinyinConverter { public static void main(String[] args) { String chineseStr = "中国"; String[] pinyinArray = PinyinHelper....
在这个例子中,`PinyinHelper.toHanyuPinyinStringArray()`是`pingyin4j`的关键方法,它接收一个汉字字符并返回一个字符串数组,数组中的每个元素都是该汉字的一个可能的拼音。如果汉字只有一个读音,数组长度为1;...