现在的位置: 首页 > 综合 > 正文

Pinyin4j_汉字与拼音的转换

2017年12月28日 ⁄ 综合 ⁄ 共 1326字 ⁄ 字号 评论关闭

pinyin4j: http://sourceforge.net/projects/pinyin4j/files/

    /**   
     * 汉字转拼音首字母,英文字符不变
     **/
    public static void converToFirstWord(){         
    	String chinese="你好啊a";
        StringBuilder pinyinName = new StringBuilder();  
        char[] nameChar = chinese.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] > 127) {  
                try {  
                	pinyinName.append(PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0));  
                } catch (BadHanyuPinyinOutputFormatCombination e) {  
                    e.printStackTrace();  
                }  
            }else{  
                pinyinName.append(nameChar[i]);  
            }  
        }  
        System.out.println(pinyinName.toString());
    } 

 /**   
     * 汉字转拼音,英文字符不变 
     **/
    public static String converToWholeWord(){          
    	String chinese="你好啊a";
    	StringBuilder pinyinName= new StringBuilder();
        char[] nameChar = chinese.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.append(PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0]);  
                } catch (BadHanyuPinyinOutputFormatCombination e) {  
                    e.printStackTrace();  
                }  
            }else{  
                pinyinName.append(nameChar[i]);  
            }  
        }  
        return pinyinName.toString();  
    }

抱歉!评论已关闭.