最近由于有项目需要,需要使用中文字符串进行排序比较,以实现新潮的结果。由于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));}}

输出结果为:

XIAOTIAN
XT

好了,基本完成结果了,希望对大家有用啊。。。呵呵

java_汉字转汉语拼音相关推荐

  1. python的拼音_Python返回汉字的汉语拼音(原创) | 学步园

    最近做程序用到汉字转汉语拼音的问题,首先想到Google一下,但是拿来看了一下源码,不是甚清楚. 后来想到自己Delphi有一个获得拼音的代码.于是找了出来.研究了一下代码如下: function g ...

  2. 工具类-汉字转为汉语拼音首字母

    汉字转换为汉语拼音首字母,英文字符不变,特殊字符丢失 支持多音字,生成方式如(长沙市长:cssc,zssz,zssc,cssz) 首先需Pinyin4j的jar包,代码如下,可直接使用 public ...

  3. python获取汉字拼音查询翻译器_Python 返回汉字的汉语拼音

    后来想到自己Delphi有一个获得拼音的代码.于是找了出来.研究了一下代码如下: 复制代码 代码如下: function get_hz_pywb(hzstr: string; pytype: inte ...

  4. java代码实现汉字转汉语拼音

    基于汉语拼音的工具类实现了汉字转汉语拼音的功能. 在同事的代码的基础了,增加了对不能转的汉字报 NullPointerException的修改,实现返回原汉字. import net.sourcefo ...

  5. Python返回汉字的汉语拼音(原创)

    最近做程序用到汉字转汉语拼音的问题,首先想到Google一下,但是拿来看了一下源码,不是甚清楚. 后来想到自己Delphi有一个获得拼音的代码.于是找了出来.研究了一下代码如下: function g ...

  6. Java——将汉字转为汉语拼音工具类

    直奔主题! 首先导入pinyin4j的依赖 <dependency><groupId>org.clojars.cbilson</groupId><artifa ...

  7. java如何将汉字转换为拼音_将汉字转换为汉语拼音java实现

    有的时候我们需要将中文转换成汉语拼音,将汉字转换成汉语拼音其实挺简单.首先我找到了一个资源,是一个XML文件:TBL_Dict.xml ,这个文件中每个汉字作为一个节点,该节点下有该汉字对应的汉语拼音 ...

  8. Java汉字转汉语拼音工具类

    Java汉字转成汉语拼音工具类,需要用到pinyin4j.jar包,我使用的是Gradle项目,在build.gradle中引入依赖 // https://mvnrepository.com/arti ...

  9. python中文意思k-【Python】 汉字转化汉语拼音pinyin

    pinyin pinyin模块是github上一个小项目,在github.com/cleverdeng/pinyin.py上面可以下到源码.衷心感谢那些为这个模块做出贡献的人来方便我们[鞠躬] 安装: ...

最新文章

  1. 机器学习实战学习笔记 一 k-近邻算法
  2. simulink和psim仿真结果不同_在HFSS进行AC耦合电容仿真优化怎么做?
  3. Bootstrap 导入插件
  4. blob js 下载word乱码_这几个相见恨晚的PDF转换成Word技巧,请收好
  5. tfs2015 生成与发布 配置
  6. 【python】python的二元表达式和三元表达式
  7. C语言函数声明与定义(待删除)
  8. IDEA配置JAVA WEB工程踩坑总结
  9. 古代埃及希腊,数学用的什么进制
  10. 安装IIS服务(Internet信息服务(Internet Information Services,简写IIS,互联网信息服务)
  11. H G W S哪一个不是状态函数_复变函数学习笔记(13)——单位圆盘上的自同构群(用了近世代数)...
  12. 计算机控制d a数模转换实验,实验一 D、A数模转换实验
  13. Java复习攻略02
  14. FiveThirtyEight Comic Characters Dataset(五分之八漫画人物数据集)
  15. 跑道标识和那些复杂的灯光系统 and 简介、编号、参数、标志及数量 and 飞机跑道标准与参数...
  16. android和ios手机换行,ios label中文与数字混合导致换行解决
  17. 煮饭的机器人作文_炒菜机器人作文600字
  18. 友盟 点完登陆后无反应_免登陆、免安装、不限速,打开网页直接下载百度云!...
  19. 算法——最优解之动态规划
  20. 下载Microsoft Store的应用安装包

热门文章

  1. 低维数据映射到高维数据可分性理解实例
  2. 【180629】C++版智商超高的中国象棋游戏源码
  3. 基于Matplotlib和Seaborn以及Numpy的数据可视化基础案例练习一(含数据集)
  4. 使用七牛云上传文件报错error=incorrect region, please use up-z2.qiniu.com
  5. 对于团队中的“孙悟空”的管理
  6. win10打开蓝牙_WIN10的蓝牙不能用,开启蓝牙后不能识别到其它设备,蓝牙只能匹配手机找不到耳机怎么办?机。...
  7. 云南酒店一卡通信息化建设,昆明宾馆一卡通管理系统,新开普智慧酒店整体解决方案
  8. YA-C21A型二氧化碳传感器
  9. 苏宁1亿元注册易付宝 冲刺支付牌照
  10. Happy Matt Friends