将汉语转换成拼音(全拼和缩写)

程序里面用到了开源的包,可以将汉语转成全拼或者缩写,代码如下:
/**    
* 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

本文出自 “乔磊的博客 学习 进步” 博客,请务必保留此出处http://sucre.blog.51cto.com/1084905/353603

你可能感兴趣的:(职场,拼音,休闲,汉语,缩写)