java_汉字转汉语拼音
最近由于有项目需要,需要使用中文字符串进行排序比较,以实现新潮的结果。由于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_汉字转汉语拼音相关推荐
- python的拼音_Python返回汉字的汉语拼音(原创) | 学步园
最近做程序用到汉字转汉语拼音的问题,首先想到Google一下,但是拿来看了一下源码,不是甚清楚. 后来想到自己Delphi有一个获得拼音的代码.于是找了出来.研究了一下代码如下: function g ...
- 工具类-汉字转为汉语拼音首字母
汉字转换为汉语拼音首字母,英文字符不变,特殊字符丢失 支持多音字,生成方式如(长沙市长:cssc,zssz,zssc,cssz) 首先需Pinyin4j的jar包,代码如下,可直接使用 public ...
- python获取汉字拼音查询翻译器_Python 返回汉字的汉语拼音
后来想到自己Delphi有一个获得拼音的代码.于是找了出来.研究了一下代码如下: 复制代码 代码如下: function get_hz_pywb(hzstr: string; pytype: inte ...
- java代码实现汉字转汉语拼音
基于汉语拼音的工具类实现了汉字转汉语拼音的功能. 在同事的代码的基础了,增加了对不能转的汉字报 NullPointerException的修改,实现返回原汉字. import net.sourcefo ...
- Python返回汉字的汉语拼音(原创)
最近做程序用到汉字转汉语拼音的问题,首先想到Google一下,但是拿来看了一下源码,不是甚清楚. 后来想到自己Delphi有一个获得拼音的代码.于是找了出来.研究了一下代码如下: function g ...
- Java——将汉字转为汉语拼音工具类
直奔主题! 首先导入pinyin4j的依赖 <dependency><groupId>org.clojars.cbilson</groupId><artifa ...
- java如何将汉字转换为拼音_将汉字转换为汉语拼音java实现
有的时候我们需要将中文转换成汉语拼音,将汉字转换成汉语拼音其实挺简单.首先我找到了一个资源,是一个XML文件:TBL_Dict.xml ,这个文件中每个汉字作为一个节点,该节点下有该汉字对应的汉语拼音 ...
- Java汉字转汉语拼音工具类
Java汉字转成汉语拼音工具类,需要用到pinyin4j.jar包,我使用的是Gradle项目,在build.gradle中引入依赖 // https://mvnrepository.com/arti ...
- python中文意思k-【Python】 汉字转化汉语拼音pinyin
pinyin pinyin模块是github上一个小项目,在github.com/cleverdeng/pinyin.py上面可以下到源码.衷心感谢那些为这个模块做出贡献的人来方便我们[鞠躬] 安装: ...
最新文章
- 机器学习实战学习笔记 一 k-近邻算法
- simulink和psim仿真结果不同_在HFSS进行AC耦合电容仿真优化怎么做?
- Bootstrap 导入插件
- blob js 下载word乱码_这几个相见恨晚的PDF转换成Word技巧,请收好
- tfs2015 生成与发布 配置
- 【python】python的二元表达式和三元表达式
- C语言函数声明与定义(待删除)
- IDEA配置JAVA WEB工程踩坑总结
- 古代埃及希腊,数学用的什么进制
- 安装IIS服务(Internet信息服务(Internet Information Services,简写IIS,互联网信息服务)
- H G W S哪一个不是状态函数_复变函数学习笔记(13)——单位圆盘上的自同构群(用了近世代数)...
- 计算机控制d a数模转换实验,实验一 D、A数模转换实验
- Java复习攻略02
- FiveThirtyEight Comic Characters Dataset(五分之八漫画人物数据集)
- 跑道标识和那些复杂的灯光系统 and 简介、编号、参数、标志及数量 and 飞机跑道标准与参数...
- android和ios手机换行,ios label中文与数字混合导致换行解决
- 煮饭的机器人作文_炒菜机器人作文600字
- 友盟 点完登陆后无反应_免登陆、免安装、不限速,打开网页直接下载百度云!...
- 算法——最优解之动态规划
- 下载Microsoft Store的应用安装包
热门文章
- 低维数据映射到高维数据可分性理解实例
- 【180629】C++版智商超高的中国象棋游戏源码
- 基于Matplotlib和Seaborn以及Numpy的数据可视化基础案例练习一(含数据集)
- 使用七牛云上传文件报错error=incorrect region, please use up-z2.qiniu.com
- 对于团队中的“孙悟空”的管理
- win10打开蓝牙_WIN10的蓝牙不能用,开启蓝牙后不能识别到其它设备,蓝牙只能匹配手机找不到耳机怎么办?机。...
- 云南酒店一卡通信息化建设,昆明宾馆一卡通管理系统,新开普智慧酒店整体解决方案
- YA-C21A型二氧化碳传感器
- 苏宁1亿元注册易付宝 冲刺支付牌照
- Happy Matt Friends