將漢語轉換成拼音(全拼和縮寫)

程序裏面用到了開源的包,可以將漢語轉成全拼或者縮寫,代碼如下:

/** 
* author:qiaolei
* 2010-6-25上午11:44:21create 
*/ 
package com.sucre;

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 ChineseToEnglish {
//	將漢字轉換爲全拼
	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]);
	      }
//	       System.out.println(t4);
	      return t4;
	    }
	    catch (BadHanyuPinyinOutputFormatCombination e1) {
	      e1.printStackTrace();
	    }
	    return t4;
	}
	
//	返回中文的首字母
	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;
	}
//	將字符串轉移爲ASCII碼
	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) {
  System.out.println(getPingYin("綦江縣"));
  System.out.println(getPinYinHeadChar("綦江縣"));
  System.out.println(getCnASCII("綦江縣"));
 }
結果如下:
qijiangxian
qjx
f4ebbdadcfd8

}

 

所需要的jar包見附件

 

發佈了94 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章