package com.zjasm.util;
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;
/**
* Created with IntelliJ IDEA.
* Date: 13-7-12
* Time: 下午3:52
* To change this template use File | Settings | File Templates.
*/
public class CnToSpell {
public 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);// 将汉字的几种全拼都存到t2数组中
t4 += t2[0];// 取出该汉字全拼的第一种读音并连接到字符串t4后
} else {
// 如果不是汉字字符,直接取出字符并连接到字符串t4后
t4 += Character.toString(t1[i]);
}
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
if(t4.indexOf("【")!=-1){
t4 = t4.replace("【","[");
}
if(t4.indexOf("】")!=-1){
t4 = t4.replace("】","]");
}
if(t4.indexOf("(")!=-1){
t4 = t4.replace("(","(");
}
if(t4.indexOf(")")!=-1){
t4 = t4.replace(")",")");
}
return t4;
}
public 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;
}
public 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();
}
public static void main(String[] args) {
CnToSpell cnToSpell = new CnToSpell();
String cnStr = "中华人民共和国(A-C)(12)_12345";
System.out.println(cnToSpell.getPinYin(cnStr));
System.out.println(cnToSpell.getPinYinHeadChar(cnStr));
System.out.println(cnToSpell.getCnASCII(cnStr));
}
}
分享到:
相关推荐
这个"Java汉字转拼音(支持多音字)"的主题涉及了如何在Java环境中实现这一功能,特别是考虑到中文的多音字特性。 多音字是指一个汉字有多个读音,其读音取决于它在特定语境中的含义。例如,“打”字可以读作“dǎ...
根据提供的文件信息,本文将详细解析“Java汉字转换拼音”的实现方法及原理,并结合实际代码进行分析。 ### 一、项目概述 #### 标题:Java汉字转换拼音 该标题明确指出项目的主要功能是利用Java语言实现汉字到拼音...
java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java...
在Java编程语言中,汉字转拼音是一项常见的需求,特别是在处理中文数据、搜索引擎优化或文本处理等领域。本篇文章将深入探讨如何使用Java实现汉字转拼音的功能,包括获取汉字的全拼和首字母。 首先,我们需要理解...
对于汉字转拼音首字母,可以稍微简化上述过程,只取每个汉字拼音的第一个字母。在Java和Android中,这通常通过遍历`Pinyin4j`返回的拼音数组并提取首字母来实现。 接下来,我们讨论汉字转ASCII。由于汉字不是ASCII...
总的来说,Java中的汉字转拼音通过pinyin4j库变得非常简单,只需要正确引入库并编写一些辅助方法,就可以轻松地在程序中实现汉字与拼音之间的转换。这在处理中文数据时非常有用,能够帮助开发出更加适应中国用户的...
在Java编程语言中,汉字转拼音是一项常见的需求,特别是在处理中文数据、搜索引擎优化或文本处理等领域。这个场景中提到的“java汉字转拼音”是指利用Java实现将汉字转换为对应的拼音表示,通常包括全拼(每个汉字...
在Java编程语言中,中文字符转换为拼音是一个常见的需求,特别是在处理中文文本的搜索、语音合成或者数据分析等场景。这个给定的压缩包文件“languageConvert”可能包含了一个实现此功能的Java程序,使得开发者能够...
在Java编程语言中,汉字转换成拼音是一项常见的需求,特别是在处理中文文本时,例如搜索引擎的关键词提取、语音合成等场景。Java提供了多种方法来实现这一功能,这些方法主要基于开源库或者Java内置的API。 首先,...
标题"汉字转换拼音 Java"指的是在Java环境中开发一个程序或库,其功能是将汉字转换为它们对应的汉语拼音。这在多种场景下都非常实用,比如搜索引擎优化、语音合成、关键词提取等。Java中实现这一功能的关键在于找到...
java 中文转拼音 相当给力 识别多音字,2万个汉字
java 汉字转拼音
在Java编程语言中,将汉字转换为拼音是一项常见的任务,特别是在处理中文文本、搜索优化或者构建用户友好的接口时。这个“java汉字转拼音代码+多音字词汇表”资源提供了一个工具类,用于高效地完成这个任务。下面将...
Java汉字转拼音字母项目是一个实用的工具,它允许开发者将汉字转换为对应的拼音表示,这对于中文处理、搜索引擎优化(SEO)以及语音合成等场景非常有帮助。本项目提供了可以直接运行的示例,使得用户能够快速理解和...
Java中文转拼音技术是将汉字转化为其对应的汉语拼音的一种编程实现。在Java中,我们可以利用特定的库或者API来完成这个任务,这对于处理中文语音识别、搜索引擎优化、文本分析等多种场景都有重要作用。以下是对这个...
本文详细介绍了如何使用`pinyin4j`库实现Java中汉字到拼音的转换,并提供了两个实用的方法:一个用于获取每个汉字拼音的首字母,另一个用于获取整个字符串的拼音。这些方法可以帮助开发者快速解决相关问题,提高程序...
汉字转拼音,或拼音缩写,pinyin4j。maven,非maven项目如需jar包私聊我
Java汉字转拼音技术是计算机处理中文文本时常用的一种方法,特别是在搜索引擎优化、语音识别、文本分析等领域有着...在实际开发中,结合具体的业务需求,我们可以灵活运用这些工具,解决各种与汉字拼音转换相关的问题。
Java汉字转拼音是一个常见的需求,特别是在处理中文数据时,例如搜索、关键词提取或者语音合成等场景。`pinyin4j`是一个Java库,专门用于将汉字转换为拼音,它提供了简单易用的API来实现这一功能。这个jar包以及相关...