Java代码将汉字转换成拼音

标签: java 代码 汉字 | 发表时间:2012-02-11 16:56 | 作者:脉凌网络
出处:http://www.blogjava.net/


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' target='_blank'> 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("西安市"));

  //返回拼音的ASCII

  }

  }

 



脉凌网络 2012-02-11 16:56 发表评论

相关 [java 代码 汉字] 推荐:

Java代码将汉字转换成拼音

- - BlogJava-首页技术区
  //------------------------将汉字转换为全拼-------------------------------.   //判断是否为汉字字符. //----------------------------------------返回中文的首字母--------------------.

Java代码优化

- - ImportNew
2016年3月修改,结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化. 在修改之前,我的说法是这样的:. 就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的虾米多了,鲸鱼自然饱了. 代码优化一样,也许一个两个的优化,对于提升代码的运行效率意义不大,但是只要处处都能注意代码优化,总体来说对于提升代码的运行效率就很有用了.

java代码开发规范

- - BlogJava_首页
格式规范:                                                                      .       1、TAB空格的数量. 编辑器上的TAB空格数量统一取值为4.       2、换行, 每行120字符.       3、if语句的嵌套层数3层以内   .

Java 代码性能优化

- - IT瘾-geek
代码 优化,一个很重要的课题. 可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢. 这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗. 没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了. 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的.

Java的正则表达式匹配汉字

- Macyou - Script Ahead, Code Behind
刚才有同事问,顺便发出来记一下. 以前读《精通正则表达式》的时候已经知道Java的正则表达式支持\p{Inname}的形式来指定匹配属于name的Unicode区块的字符. JDK的Pattern类的文档上也有相关例子,\p{InGreek},表示匹配一个属于名为“Greek”的Unicode区块的字符.

2011年度最牛逼java代码

- sunseesiu - ITeye论坛最新讨论
作者: 5172306 . 声明: 本文系ITeye网站发布的原创文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任. 已有 16 人发表回复,猛击->>这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Java代码编写的30条建议

- - inJava
(1) 类名首字母应该大写. 字段、方法以及对象(句柄)的首字母应小写. 对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母. 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母. 这样便可标志出它们属于编译期的常数. Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此.

编写高质量的Java代码

- - 研发管理 - ITeye博客
Java 开发通用方法和准则. 不要在变量和常量出现易混淆字母:int i=1l;. 三元操作符的值类型务必保持一致;. 避免带有变长参数的方法重载:Java 5 引入了变长参数,varags, 用…表示,变长参数必须是最后一个参数,一个方法不能有多个变长参数;. 别让null和空值影响到变长方法,主要出现在在变长方法的重载;.

如何写出更好的Java代码

- - Java译站
Java是最流行的编程语言之一,但似乎并没有人喜欢使用它. 好吧,实际上Java是一门还不错的编程语言,由于最近Java 8发布了,我决定来编辑一个如何能更好地使用Java的列表,这里面包括一些库,实践技巧以及工具. 这篇文章在 GitHub上也有. 你可以随时在上面贡献或者添加你自己的Java使用技巧或者最佳实践.

Matlab中调用第三方Java代码

- - ITeye博客
在Java中采用Matlab JA Builder可以实现调用m文件,采用这样的方式,可在Matlab的M文件中,直接调用Java类. 这种方式可以表示为Java--> Matlab( m, Java),即整个程序由Java启动. 那如何使用Matlab直接调用Java的方式. 错误的方法:网上有些说将jar、class放在Matlab的Search路径中.