package com.Test.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;
public class TestPinYin4j {
/**
* 将汉字转换为全拼
*
* @param src
* @return String
*/
public static 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++) {
// 判断能否为汉字字符
// 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++) {
// 将每个字符转换成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));
}
}
分享到:
相关推荐
在Java编程语言中,pinyin4j是一个非常实用的库,它能将汉字转换为拼音,从而解决了在处理汉字排序、分类、搜索等需求时遇到的问题。本文将详细介绍pinyin4j-2.5.0.jar这个jar包以及如何使用它来实现汉字转拼音的...
Pinyin4j便是一个专门解决这一问题的强大工具,它是一个开源的Java库,能够方便、高效地将汉字转换为汉语拼音,为开发者提供了极大的便利。 Pinyin4j的核心功能在于其对汉字拼音的处理能力。它能够处理单个汉字、...
将汉字转换为拼音在Android开发中是个很常见的问题。例如:在Android手机应用开发中,要查询联系人的姓名,通常都是用拼音进行查询的。 Pinyin4j是一个功能强悍的汉语拼音工具包...- 支持简体中文、繁体中文转换为拼音
《使用pinyin4j库进行中文到拼音转换的详解》 在处理中文字符时,有时我们需要将汉字转换为对应的拼音,以便进行各种文本处理任务,如搜索引擎优化、文本分析或语音合成。在这种情况下,Java开发者可以利用开源库...
Pinyin4j库的核心功能在于其对中文字符集(Unicode)的支持,它可以将汉字转化为对应的拼音形式。这在各种应用场景中都极其有用,例如搜索关键词的标准化、中文输入法的实现、甚至是数据分析和文本处理等。通过...
标题中的“汉语转化为拼音,大写小写,pingyin4j.jar”指的是一个Java库,专门用于将汉字转换为拼音,并支持处理大小写字母形式。这个库名为pingyin4j,它解决了多音字问题,使得在编程中处理中文字符转化为拼音变得...
pinyin4j是一款开源的Java库,由Barry De Zwart开发,其主要功能是将汉字转换为汉语拼音。这个库不仅能够提供基本的拼音转换,还能处理多音字、声调等问题,极大地简化了开发者的编码工作。版本2.5.0是该库的一个...
总的来说,"汉字转拼音类(内含pinyin4j-2.5.0.jar)"为Android开发者提供了一种高效便捷的方式,来处理汉字与拼音之间的转换。通过合理利用这个工具,开发者可以在不熟悉汉语拼音的情况下,依然能实现基于拼音的...
在处理中文数据时,有时我们需要将汉字转换为拼音,以便进行搜索、排序或者国际化处理。这时,一个高效且准确的中文转拼音工具显得尤为重要。pinyin4j是一个专门用于Java平台的开源库,它提供了方便的API,能够帮助...
`pinyin4j-2.5.0.jar`是一个专门为Java设计的库,专门用于将汉字转换为拼音,且支持声调标记,极大地提高了处理效率和准确性。在这个库的帮助下,开发者无需关心复杂的汉字到拼音的映射规则,只需简单调用API即可...
1. 汉字转拼音:pinyin4j可以将单个汉字或字符串中的所有汉字转换为对应的汉语拼音。它能够返回每个汉字的全拼和首字母,对于多音字,pinyin4j会返回所有的可能性。 2. 处理多音字:pinyin4j通过`PinyinHelper....
pinyin4j的主要功能是将汉字转换为汉语拼音,包括全拼和简拼,并且支持声调标注。这个库不仅能够处理基本的汉字转换,还能处理多音字、罕用字等特殊情况,为开发者提供了强大的汉字转拼音解决方案。例如,对于“中国...
`pinyin4j`库的核心功能是将汉字转换为汉语拼音。这个过程涉及到多个方面,包括识别多音字、处理声调以及提供不同的拼音输出格式。例如,对于汉字"好",`pinyin4j`可以输出"haο"(无声调形式)或"hǎo"(带声调形式...
《pinyin4j-2.5.0.jar:中文转换拼音与获取首字母的利器》 在处理中文数据时,有时我们需要将汉字转化为拼音,以便进行关键词检索、数据分析或者构建搜索引擎。这时,一个强大的工具库就能派上用场,那就是pinyin4j...
pinyin4j是Java平台上的开源库,由Barry DeZeng开发,其主要功能是将汉字转换为汉语拼音,并支持多种输出格式,包括全拼、简拼以及拼音的首字母。版本2.5.0是该库的一个稳定版本,它包含了多项改进和优化,确保在...
pinyin4j的核心功能在于,它可以将单个汉字或字符串中的所有汉字转换为其对应的汉语拼音。例如,“中国”会被转换为“China”,“再见”则转换为“zai jian”。它不仅支持基本的拼音转换,还能够处理多音字,提供...
1. **汉字转拼音**:pinyin4j可以将单个汉字或字符串中的所有汉字转化为对应的拼音。它支持多种输出格式,如全拼、简拼、声母、韵母等。此外,它还能处理多音字,根据上下文提供最合适的读音。 2. **声调处理**:...