public class ConvertHelper {
// 国标码和区位码转换常量
static final int GB_SP_DIFF = 160;
//存放国标一级汉字不同读音的起始区位码
static final int[] secPosvalueList = {
1601, 1637, 1833, 2078, 2274, 2302, 2433, 2594, 2787,
3106, 3212, 3472, 3635, 3722, 3730, 3858, 4027, 4086,
4390, 4558, 4684, 4925, 5249, 5600};
//存放国标一级汉字不同读音的起始区位码对应读音
static final char[] firstLetter = {
'a','b','c','d','e','f','g','h','j',
'k','l','m','n','o','p','q','r','s',
't','w','x','y','z'};
//获取一个字符串的拼音码
public static String getFirstLetter(String oriStr) {
String str = oriStr.toLowerCase();
StringBuffer buffer = new StringBuffer();
char ch;
char[] temp;
for (int i = 0; i < str.length(); i++) { //依次处理str中每个字符
ch = str.charAt(i);
temp = new char[]{ch};
byte[] uniCode = new String(temp).getBytes();
if (uniCode[0] < 128 && uniCode[0] > 0) { // 非汉字
buffer.append(temp);
} else {
buffer.append(convert(uniCode));
}
}
return buffer.toString();
}
/**
* 获取一个汉字的拼音首字母。
* GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码
* 例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0就是0x24/0x43
* 0x24转成10进制就是36,0x43是67,那么它的区位码就是3667,在对照表中读音为‘n’
*/
static char convert(byte[] bytes) {
char result = '-';
int secPosvalue = 0;
int i;
for (i = 0; i < bytes.length; i++) {
bytes[i] -= GB_SP_DIFF;
}
secPosvalue = bytes[0] * 100 + bytes[1];
for (i = 0; i < 23; i++) {
if (secPosvalue >= secPosvalueList[i] && secPosvalue < secPosvalueList[i + 1]) {
result = firstLetter[i];
break;
}
}
return result;
}
/**
* 获取一个字符串的拼音码
* 并且首字母大写
*/
public static String getFirstUpLetter(String str){
if(str==null||"".equals(str)) return "";
String temp_letter=getFirstLetter(str);
String str_1=temp_letter.substring(0,1).toUpperCase();
String str_2=temp_letter.substring(1,temp_letter.length());
return str_1+str_2;
}
}
分享到:
相关推荐
C# 中英文转换 做程序中英文转换 事例
基于microsoftTranslator实现js中英文转换,中文英文按钮来回切换。
3D中英文转换。良好的将英文版转换为中文版,实现中英文过度
Java spring实现中英文切换配置,包含配置文件messages_en_US.properties和messages_zh_CN.properties以及具体配置信息
基于microsoftTranslator开放接口实现的页面中英文切换
主要方法是添加资源文件,其实是字符串id与内容的列表,每种语言一个资源,然后你要设置当前线程的语言。当然比如控件的显示等也是必须写成从资源提取,不能直接在属性窗口里设置。
winform小程序,C#开发,读取XML文件,中英文切换,附源码
winform窗体中英文切换,纯代码编写。。。
C#中英文切换,实现菜单,工具栏,按钮等控件的中英文切换
qt国际语言的应用,实现中英文切换。在工程中实现中英文切换。
Android一键中英文切换,无需activity重启,完美解决方案
本人亲自修改验证过的,参考了网上的代码,网上大部分都是抄袭,写的很烂 这个是利用读取保存为ini文件在分别对应读取实现的!
AE中英文切换工具2023
这是一个控件类,有DLL...用户在数据库里把中文名称翻译成你想要的英文就可以实现中英文转换了。 重要的是如果你的控件命名遵守我的规则,比如button”退出"按钮命名为"btn_Exit",那么连翻译都省了,它会自动调用的。
Android中英文切换
js 虚拟键盘 支持中英文切换 高灵敏度,可在IE及谷歌浏览器中使用。可用于触屏自助机。
如题,中英文切换,显示不同语言Text
labview中英文切换.7z
VRay1.5sp2 For2009中英文切换版.part01,还有很多,以后慢慢放上去哦,希望对大家有用哦