java_汉字转汉语拼音
来源:互联网 发布:新网数码域名管理 编辑:程序博客网 时间:2024/05/05 10:12
最近由于有项目需要,需要使用中文字符串进行排序比较,以实现新潮的结果。由于java使用的unicode编码作为内码,因此汉字的内码与中国国家汉字的内码不一致,从而导致了中文字符串比较和排阻相当困难,在师兄的帮助下,分析了以上问题,问了几次度娘,写了个DEMO,希望有需要的人有帮助。
首先,需要下载pinyin4j.jar.这里提供一个我自己的地址:
点击下载
具体代码如下,新手勿喷,很多都是百度的:
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 PingYin {/** * 得到 全拼 * * @param src * @return */ public static String getPingYin(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 (java.lang.Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) { t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3); t4 += t2[0]; } else { t4 += java.lang.Character.toString(t1[i]); } } return t4.toUpperCase(); } catch (BadHanyuPinyinOutputFormatCombination e1) { e1.printStackTrace(); } return t4.toUpperCase(); } /** * 得到大写中文首字母 * * @param str * @return */ 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.toUpperCase(); } /** * 将字符串转移为ASCII码 * * @param cnStr * @return */ 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)); strBuf.append(Integer.toHexString(bGBK[i] & 0xff)); } return strBuf.toString(); } public static void main(String[] args) { String cnStr = "小天"; System.out.println(getPingYin(cnStr)); System.out.println(getPinYinHeadChar(cnStr)); }}输出结果为:
XIAOTIANXT好了,基本完成结果了,希望对大家有用啊。。。呵呵
0 0
- java_汉字转汉语拼音
- Java_获取汉字的汉语拼音首字母Java版
- Java_获取汉字的汉语拼音首字母Java版
- java代码实现汉字转汉语拼音
- 汉字转换汉语拼音
- [转]如何获得汉字汉语拼音的第一个字母
- 抄一个汉字转汉语拼音缩写的存储过程
- 中文汉字替换为汉语拼音
- java将汉字转成汉语拼音
- C#将汉字转成汉语拼音
- 汉字转拼音软件 1.3 中文免费版|给汉字自动加汉语拼音的软件
- 中文汉字替换为汉语拼音 的函数
- js生成汉字对应的汉语拼音
- Python返回汉字的汉语拼音(原创)
- 将汉字转换为汉语拼音java实现
- 利用Word2010给汉字添加汉语拼音
- Java汉字转成汉语拼音工具类
- Java汉字转成汉语拼音工具类
- postgresql游标的简单使用
- java抽象类和接口的区别
- zend studio 10破解/汉化
- C++虚继承
- 信息系统管理项目监理工作:四控三管一协调
- java_汉字转汉语拼音
- hadoop 入门级 实战
- html打开乱码
- springmvc文件上传下载
- Android自定义控件系列一:Android如何实现老版优酷客户端三级环形菜单
- 骑猪去遛狗
- Android学习笔记——Android中Cursor类的概念和用法
- 欢迎使用CSDN-markdown编辑器
- Android自定义控件系列二:自定义开关按钮(一)