java把汉字转换成拼音

汉字转换成拼音工具类:

 1 import net.sourceforge.pinyin4j.PinyinHelper;
 2 import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
 3 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
 4 import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
 5 import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
 6 import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
 7
 8 public class PinyinUtils {
 9     /**
10      * 将汉字转换为全拼
11      *
12      * @param src
13      * @return String
14      */
15     public static String getPinYin(String src) {
16         char[] t1 = null;
17         t1 = src.toCharArray();
18         String[] t2 = new String[t1.length];
19         // 设置汉字拼音输出的格式
20         HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
21         t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
22         t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
23         t3.setVCharType(HanyuPinyinVCharType.WITH_V);
24         String t4 = "";
25         int t0 = t1.length;
26         try {
27             for (int i = 0; i < t0; i++) {
28                 // 判断是否为汉字字符
29                 if (Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
30                     t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);// 将汉字的几种全拼都存到t2数组中
31                     t4 += t2[0];// 取出该汉字全拼的第一种读音并连接到字符串t4后
32                 } else {
33                     // 如果不是汉字字符,直接取出字符并连接到字符串t4后
34                     t4 += Character.toString(t1[i]);
35                 }
36             }
37         } catch (BadHanyuPinyinOutputFormatCombination e) {
38             // TODO Auto-generated catch block
39             e.printStackTrace();
40         }
41         return t4;
42     }
43
44     /**
45      * 提取每个汉字的首字母
46      *
47      * @param str
48      * @return String
49      */
50     public static String getPinYinHeadChar(String str) {
51         String convert = "";
52         for (int j = 0; j < str.length(); j++) {
53             char word = str.charAt(j);
54             // 提取汉字的首字母
55             String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
56             if (pinyinArray != null) {
57                 convert += pinyinArray[0].charAt(0);
58             } else {
59                 convert += word;
60             }
61         }
62         return convert;
63     }
64
65     /**
66      * 将字符串转换成ASCII码
67      *
68      * @param cnStr
69      * @return String
70      */
71     public static String getCnASCII(String cnStr) {
72         StringBuffer strBuf = new StringBuffer();
73         // 将字符串转换成字节序列
74         byte[] bGBK = cnStr.getBytes();
75         for (int i = 0; i < bGBK.length; i++) {
76             // 将每个字符转换成ASCII码
77             strBuf.append(Integer.toHexString(bGBK[i] & 0xff) + " ");
78         }
79         return strBuf.toString();
80     }
81
82 }

原文地址:https://www.cnblogs.com/zh-1721342390/p/8276922.html

时间: 2024-10-28 14:16:42

java把汉字转换成拼音的相关文章

java将汉字转成拼音

package com.jframe.kit; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneTy

基于jQuery实现汉字转换成拼音代码

基于jQuery实现汉字转换成拼音代码.这是一款基于jQuery.Hz2Py.js插件实现的汉字转拼音特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <br /> <br /> <br /> <br /> <br /> <center> 在这里输入汉字<br /> <textarea id="content"> </textarea><br /&g

php 将汉字转换成拼音的方法封装成工具包

php 将汉字转换成拼音的方法封装成工具包,代码如下: <?php class PinyinTool { private static $pylist = array( 'a'=>-20319,'ai'=>-20317,'an'=>-20304,'ang'=>-20295,'ao'=>-20292, 'ba'=>-20283,'bai'=>-20265,'ban'=>-20257,'bang'=>-20242,'bao'=>-20230,'

python把汉字转换成拼音实现程序

python把汉字转换成拼音实现程序 文章一个简洁干的汉字转拼音 程序,复制下载就可以直接使用,有需要的同学可以参考一下下. #coding:utf-8 #基于python2.6 table = 'a,-20319;ai,-20317;an,-20304;ang,-20295;ao,-20292;ba,-20283;bai,-20265;ban,-20257;bang,-20242;bao,-20230;bei,-20051;ben,-20036;beng,-20032;bi,-20026;bi

几个将汉字转换成拼音的在线工具

编程时,经常遇到由于汉字兼容性差带来的困扰.解决的方法之一就是使用汉语拼音来代替汉字,(使用英语翻译比较费时).将汉语转换成拼音的方法有很多,可以通过编程实现,比如借助于pinyin package,也可以使用现在工具,直接将汉语转化为拼音.需要注意的是,在汉字转化成拼音时,需要注意尽量不要保留声调,因为声调的兼容性也比较差. 支持不带声调的汉字转化成拼音的在线工具如下: http://www.atool.org/hanzi2pinyin.php http://zhongwenzhuanpiny

iOS中将汉字转换成拼音

NSMutableString *pinyin = [_name mutableCopy]; //转换成拼音 CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL, kCFStringTransformMandarinLatin, NO); //去掉音调 CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL, kCFStringTransformStripDiacr

python中将汉字转换成拼音

python3.4环境,在3.0以下的版本有些地方不一样,可自行修改. 可转换全部文章,唯一缺陷就是标点符号正常无法转换.以后想到再做修改. 1 #coding=gbk 2 ''' 3 Created on 2014-8-29 4 5 @author: Administrator 6 ''' 7 #import os 8 9 def convert(ch): 10 """该函数通过输入汉字返回其拼音,如果输入多个汉字,则返回第一个汉字拼音. 11 如果输入数字字符串,或者输入

Python汉字转换成拼音

最近在使用Python做项目时,需要将汉字转化成对应的拼音.在Github上找到了一个现成的程序. Python汉字转拼音 使用实例如下: from pinyin import PinYin test = PinYin() test.load_word() print test.hanzi2pinyin(string='钓鱼岛是中国的') print test.hanzi2pinyin_split(string='钓鱼岛是中国的', split="-") 输出: ['diao', 'y

【Excel&amp;VBA】Excel中汉字转换成拼音

Excel2007为例: “可用加载宏”快捷键——Alt+T+I Microsoft Visual Basic——Alt+F11 1:通过快捷键(Alt+F11)打开VBA编程窗口: 2:在对应Sheet处右键“插入”-“模块”: 3:在新建的“模块”中添加如下代码,运行子过程即可: 1 Function PinYin(Hz As String) 2 Dim PinMa As String 3 Dim MyPinMa As Variant 4 Dim Temp As Integer, i As