zoukankan      html  css  js  c++  java
  • 汉字转拼音

    在我们某些业务需求中 有时需要将汉字转换为拼音

    这个时候可以利用开源框架 pinyin4j.jar 来帮助我们快速的转化,

    另外还需要下面的帮助类 ,在使用的时候直接拷贝即可

    public class PinYinUtils {
        /**
         * 得到指定汉字的拼音
         * 注意:不应该被频繁调用,它消耗一定内存
         * @param 汉字
         * @return  拼音
         */
        public static String getPinYin(String hanzi){
            String pinyin = "";

            HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();//控制转换是否大小写,是否带音标
            format.setCaseType(HanyuPinyinCaseType.UPPERCASE);//大写
            format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

            //由于不能直接对多个汉字转换,只能对单个汉字转换
            char[] arr = hanzi.toCharArray();
            for (int i = 0; i < arr.length; i++) {
                if(Character.isWhitespace(arr[i]))continue;//如果是空格,则不处理,进行下次遍历

                //汉字是2个字节存储,肯定大于127,所以大于127就可以当为汉字转换
                if(arr[i]>127){
                    try {
                        //由于多音字的存在,单 dan shan
                        String[] pinyinArr = PinyinHelper.toHanyuPinyinStringArray(arr[i], format);

                        if(pinyinArr!=null){
                            pinyin += pinyinArr[0];
                        }else {
                            pinyin += arr[i];
                        }
                    } catch (BadHanyuPinyinOutputFormatCombination e) {
                        e.printStackTrace();
                        //不是正确的汉字
                        pinyin += arr[i];
                    }
                }else {
                    //不是汉字,
                    pinyin += arr[i];
                }
            }
            return pinyin;
        }
    }

                                         -----爱生活,爱android.

  • 相关阅读:
    css之页面顶部阴影
    css之使用 :not() 在菜单上应用/取消应用边框
    CSS之黑白图像
    AMD/CMD规范
    HTTP学习笔记
    MUI之ajax获取后台接口数据
    Git提交代码规范
    Unicode与UTF-8/UTF-16/UTF-32的区别
    系统编程书籍推荐
    单口双线PC连接转换器 手机电脑耳机转接线
  • 原文地址:https://www.cnblogs.com/chengxuxia/p/6648534.html
Copyright © 2011-2022 走看看