JAVA翻译给定中文字符串的拼音首字母
来源:互联网 发布:乐视网络电视apk 编辑:程序博客网 时间:2024/06/05 17:48
import java.io.UnsupportedEncodingException;
/** *//**
* 取得给定汉字串的首字母串,即声母串
* <p>Title: ChineseCharToEn</p>
* <p>@author javer QQ:84831612</p>
*@version 1.0
* @date 2004-02-19
* 注:只支持GB2312字符集中的汉字
*/
publicfinal class ChineseCharToEn
...{
privatefinal static int[] li_SecPosValue=
...{
1601,1637, 1833, 2078,2274, 2302, 2433,2594, 2787, 3106,3212, 3472,
3635,3722, 3730, 3858,4027, 4086, 4390,4558, 4684, 4925,5249, 5590
};
privatefinal static String[] lc_FirstLetter=
...{
"a","b","c","d","e","f","g","h","j","k","l","m","n","o","p",
"q","r","s","t","w","x","y","z"
};
/** *//**
* 取得给定汉字串的首字母串,即声母串
*@param str 给定汉字串
*@return 声母串
*/
public String getAllFirstLetter(String str)
...{
if (str== null|| str.trim().length()== 0)
...{
return"";
}
String _str= "";
for (int i= 0; i< str.length(); i++)
...{
_str= _str + this.getFirstLetter(str.substring(i, i+ 1));
}
return _str;
}
/** *//**
* 取得给定汉字的首字母,即声母
*@param chinese 给定的汉字
*@return 给定汉字的声母
*/
public String getFirstLetter(String chinese)
...{
if (chinese== null|| chinese.trim().length()== 0)
...{
return"";
}
chinese= this.conversionStr(chinese,"GB2312","ISO8859-1");
if (chinese.length()> 1)//判断是不是汉字
...{
int li_SectorCode= (int) chinese.charAt(0);//汉字区码
int li_PositionCode= (int) chinese.charAt(1);//汉字位码
li_SectorCode= li_SectorCode- 160;
li_PositionCode= li_PositionCode- 160;
int li_SecPosCode= li_SectorCode* 100+ li_PositionCode;//汉字区位码
if (li_SecPosCode> 1600&& li_SecPosCode< 5590)
...{
for (int i= 0; i< 23; i++)
...{
if (li_SecPosCode>= li_SecPosValue[i]&&
li_SecPosCode< li_SecPosValue[i+ 1])
...{
chinese= lc_FirstLetter[i];
break;
}
}
}
else//非汉字字符,如图形符号或ASCII码
...{
chinese= this.conversionStr(chinese,"ISO8859-1","GB2312");
chinese= chinese.substring(0,1);
}
}
return chinese;
}
/** *//**
* 字符串编码转换
*@param str 要转换编码的字符串
*@param charsetName 原来的编码
*@param toCharsetName 转换后的编码
*@return 经过编码转换后的字符串
*/
private String conversionStr(String str, String charsetName,String toCharsetName)
...{
try
...{
str= new String(str.getBytes(charsetName), toCharsetName);
}
catch (UnsupportedEncodingException ex)
...{
System.out.println("字符串编码转换异常:"+ ex.getMessage());
}
return str;
}
}
测试类:
**
* 测试程序
* <p>Title: JaverTest</p>
*/
publicclass JaverTest
...{
publicstatic void main(String[] args)
...{
ChineseCharToEn cte= new ChineseCharToEn();
System.out.println(""夜未眠"的首个拼音字母是:"+ cte.getFirstLetter("夜未眠"));
System.out.println(""Javer夜未眠"的首个拼音字母是:"+ cte.getFirstLetter("Javer夜未眠"));
System.out.println(""Javer夜未眠"的全部字母的拼音字母是:"+ cte.getAllFirstLetter("Javer夜未眠"));
}
}
- JAVA翻译给定中文字符串的拼音首字母
- JAVA翻译给定中文字符串的拼音首字母
- JAVA翻译给定中文字符串的拼音首字母
- JAVA翻译给定中文字符串的拼音首字母
- JAVA获取中文汉字的拼音首字母
- 获取中文字符串拼音首字母
- 获取中文字符串拼音首字母串的函数
- 取中文的拼音首字母
- 匹配中文字符串的拼音首字母或英文字符串的首字母缩写
- 返回给定字符串的首字母
- 返回给定字符串的首字母
- Java获取中文拼音、中文首字母缩写和中文首字母
- ORACLE获取中文字符串拼音首字母
- java获取中文拼音,java获取中文拼音首字母
- java获取中文拼音首字母工具类
- java 获取中文拼音首字母(缩写)
- 获取中文拼音的首字母的方法
- C# 获取中文的拼音首字母
- 深入学习Tomcat-自己动手写服务器(附服务器源码)
- hash_map原理
- 调试技巧 vs2010 output
- (笔记)《TCP/IP详解》------动态路由协议小结
- 获取数据库机器的文件目录
- JAVA翻译给定中文字符串的拼音首字母
- Javascript截取字符串的两个方法
- 管理用户安全
- GD绘图
- xhtml&CSS文档规范
- 继承
- 学习GoF设计模式的重要性
- Visual Studio 2010 Express
- Struts2+hibernate+spring 配置文件中scope="prototype"的作用