A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.sucre;
  //导入的jar包
  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).matches("[\\u4E00-\\u9FA5]+")){
  t2 = PinyinHelper.toHanyuPinyinStringArray(t1, t3);
  t4+=t2[0];
  }else{
  t4+=java.lang.Character.toString(t1);
  }
  }
  //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&0xff));
  strBuf.append(Integer.toHexString(bGBK&0xff));
  }
  return strBuf.toString();
  }
  //--------------------------测试拼音转汉字是否正确----------------------------
  public static void main(String[] args){
  System.out.println(getPingYin("西安市"));
  //返回拼音的全拼样式
  System.out.println(getPinYinHeadChar("西安市"));
  //返回拼音的首字母
  System.out.println(getCnASCII("西安市"));
  //返回拼音的ASCII
  }
  }


2 个回复

倒序浏览
奈斯,感谢分享
回复 使用道具 举报
感谢分享~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马