博客第一篇日志啊,呵呵,那就记录一下我昨天在工作中遇到的汉字转换拼音的问题吧~~

在工程中引入pinyin4j-2.5.0.jar,该jar包可以实现汉字转换为拼音,汉字转换为拼音首字母,以及得到字符串ASCII码,具体用法参见以下代码:

package 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.exception.BadHanyuPinyinOutputFormatCombination;/*** 汉字转换位汉语拼音,英文字符不变* * @author* */
public class CnToSpell {/*** 汉字转换为汉语拼音首字母,英文字符不变* * @param chines*            汉字* @return 拼音*/public static String getFirstSpell(String chines) {String pinyinName = "";char[] nameChar = chines.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < nameChar.length; i++) {if (nameChar[i] > 128) {try {pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();} catch (NullPointerException e) {// 如果是日文,可能抛出该异常e.printStackTrace();}} else {pinyinName += nameChar[i];}}return pinyinName;}/*** 汉字转换位汉语拼音,英文字符不变* * @param chines*            汉字* @return 拼音*/public static String getFullSpell(String chines) {String pinyinName = "";char[] nameChar = chines.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < nameChar.length; i++) {if (nameChar[i] > 128) {try {pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0];} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();} catch (NullPointerException e) {// 如果是日文,可能抛出该异常e.printStackTrace();}} else {pinyinName += nameChar[i];}}return pinyinName;}/*** 将字符串转换成ASCII码* * @param cnStr* @return String*/public static String getCnASCII(String chines) {StringBuffer strBuf = new StringBuffer();// 将字符串转换成字节序列byte[] bGBK = chines.getBytes();for (int i = 0; i < bGBK.length; i++) {// System.out.println(Integer.toHexString(bGBK[i] & 0xff));// 将每个字符转换成ASCII码strBuf.append(Integer.toHexString(bGBK[i] & 0xff));}return strBuf.toString();}public static void main(String[] args) {System.out.println(getFirstSpell("陶喆"));System.out.println(getFullSpell("陶喆"));System.out.println(getFirstSpell("欢迎来到Java中文社区"));// System.out.println(getFullSpell("にほん欢/.,;'迎来到Java中文社区"));// 日文会报异常哦System.out.println(getFullSpell("嘅囧誰說壞學生來勼髮視頻裆児"));System.out.println(getCnASCII("嘅囧"));}
}

输出结果为:

tz
taozhe
hyldJavazwsq
kaijiongshuishuohuaixueshenglaijiufashipindanger
86fe87e5

使用pinyin4j解决中文转换为拼音的问题相关推荐

  1. 使用pinyin4j将中文转换为拼音

    2019独角兽企业重金招聘Python工程师标准>>> 1 安装pinyin4j 引入Maven依赖包 <!-- https://mvnrepository.com/artif ...

  2. 中文转换为拼音工具类(很全)

    中文转换为拼音工具类(很全) 1.所需的jar包 2.工具类(可以直接拿去用) 1.所需的jar包 <!--获取汉字的拼音--><dependency><groupId& ...

  3. 基于struts2、spring、spring data jpa实现poi导入 + pinyin4j将汉字转换为拼音

    基于struts2.spring.spring data jpa实现poi导入 + pinyin4j将汉字转换为拼音 1.引入坐标到pom.xml <!-- Excel解析工具类 -->& ...

  4. 通过第三方jar实现中文转换为拼音

    如何把中文转换为拼音 通过使用第三方的jar包pinyin4j-2.5..jar,把中文转换为拼音,代码如下. public class PinYinUtil {/*** 获取汉字的拼音,会销毁一定的 ...

  5. java pinyin4j,pinyin4j使用中文转化拼音

    [Java]代码 package com.app.common.code; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourc ...

  6. oracle把中文转换为拼音,怎样将“Oracle”的外部表汉字转换为拼音

    怎样将"Oracle"的外部表汉字转换为拼音 2008-03-07 eNet&Ciweek 我在原来的应用中使用代码表加一个函数来处理汉字转拼音的转换问题,现在由于工作需要 ...

  7. Excel中文转换为拼音(大写首字母、小写首字母、全拼、全拼首首字母大写)

    很多时候我们需要处理一下汉字转换为拼音的需求,今天给大家分享一下标题包含的一下转换方法 1 .excel通过宏可以很好的处理汉字转换为拼音的    1.1下面的是转为全拼音的宏代码 Function ...

  8. 通过pinyin4j将汉字转换为拼音

    pinyin4j提供了汉语转拼音的一个开源库, 支持多种拼音系统:汉语拼音. 通用拼音 .威氏拼音.注音二式.雅礼.  国语罗马字. 但是遗憾的是不支持多音字 首先下载jar包:http://piny ...

  9. pinyin4j 满足中文转拼音的需求

    引入依赖 // https://mvnrepository.com/artifact/com.belerweb/pinyin4j//汉字转拼音 compile group: 'com.belerweb ...

最新文章

  1. java中常用的字符串的截取方法
  2. php gd库截图,php使用gd库实现截屏的实例代码
  3. TCP/IP这本书讲TCP是从哪些方面保证可靠性的?
  4. Android知识点剖析系列:深入了解layout_weight属性
  5. 详细介绍Qt,ffmpeg 和SDl 教程之间的联系
  6. Spring Cloud Hoxton正式发布,Spring Boot 2.2 不再孤单
  7. 作者:张坦(1989-),女,西安交通大学管理学院信息系统系博士生
  8. C++算法三:选择排序
  9. 计算机视觉识别简史:从 AlexNet、ResNet 到 Mask RCNN
  10. 【摘转留用】35前要考虑的
  11. python计算一个数的个各位上的数字之和
  12. 3.2 选择最可能的句子
  13. CLR探索系列:深入追踪托管exe加载执行过程
  14. 桂电管理科学可以转计算机,去年调到桂电计算机的感言,希望对各研友有帮助...
  15. 你所需要的只是注意力
  16. EF学习笔记-2 EF之支持复杂类型的实现
  17. iOS怎么做性能测试,看完这个你就懂了
  18. 黑马程序员_常见的几个运行时异常
  19. vbscript 微软教程网址
  20. selenium网易云登录定位不成功的问题

热门文章

  1. 【资源】CenterNet原理与代码解析
  2. HTML5 仿QT 示例Drag and Drop Robot 换装机器人
  3. 小程序处理iphoneX底部黑条
  4. 使用正则表达式把IM聊天中的自定义表情格式转换成表情图片
  5. css弹性盒子-------桃园三兄弟之:flex-grow、flex-shrink、flex-basis详解
  6. cocos3.x 2d转3d
  7. Xiaohe-LeetCode 303 Range Sum Query-Immutable
  8. 祖传渣屏退休季,五月份高性价比显示器推荐
  9. xp查看计算机所有密码是什么原因,如何查看WinXP系统里保存的WIFI密码
  10. 第六届中国图学大会草记