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#编程中,实现应用程序的中英文切换是一项常见的需求,尤其对于面向国际市场的软件来说。这个过程涉及到本地化和国际化( Localization and Internationalization,简称L10n和i18n),使得软件能够适应不同地区的...
在C#编程中,进行中英文转换是一项常见的需求,特别是在开发多语言支持的应用程序时。本文将深入探讨如何在C#环境中实现这一功能,并提供一个实际的案例。 首先,我们需要理解的是,中英文转换主要涉及字符编码的...
这是一个控件类,有DLL...用户在数据库里把中文名称翻译成你想要的英文就可以实现中英文转换了。 重要的是如果你的控件命名遵守我的规则,比如button”退出"按钮命名为"btn_Exit",那么连翻译都省了,它会自动调用的。
"3D中英文转换晴窗6.0"是一款专业级的软件工具,旨在帮助用户将3D场景或应用中的英文内容转换成中文,以便更好地适应中文用户的使用需求。这款工具的强大之处在于它能够处理复杂的3D环境,确保在转换过程中保留原有...
在Java Web开发中,实现中英文切换功能是提高用户体验、适应全球化需求的重要一环。Spring框架提供了强大的国际化支持,使得应用程序能够根据用户的选择或者浏览器设置显示相应的语言版本。本实例将详细讲解如何利用...
在VB 6.0编程环境中,菜单栏的中英文切换是一项常见的本地化需求,尤其对于开发多语言应用程序来说。下面将详细介绍如何实现VB 6.0菜单栏的中英文切换,以及如何通过读取和保存配置文件(如INI文件)来实现这一功能...
"基于microsoftTranslator实现js中英文切换"是一个利用Microsoft Translator API在JavaScript环境中实现实时语言切换的实践案例。这个功能可以让用户轻松地在中文和英文之间切换,提高网站或应用的国际化水平。 ...
本文将详细讲解如何在Android设备上实现中英文切换,以及涉及到的相关知识点。 首先,我们要了解Android系统的语言设置机制。Android是基于Linux内核的开源移动操作系统,它允许用户根据个人偏好更改系统界面的语言...
在本文中,我们将深入探讨如何使用C#和Winform技术实现一个支持中英文切换的小程序。这个项目的核心在于通过读取XML文件来管理和切换应用程序的界面语言,这为多语言支持提供了灵活且可扩展的解决方案。 首先,让...
本文将深入探讨如何在WinForm应用中实现中英文切换功能,完全通过代码来实现,无需借助第三方库。 首先,我们需要设计一个简单的WinForm界面,包括一个菜单或按钮,供用户选择语言。例如,我们可以创建一个名为...
本话题主要关注如何在Delphi应用程序中实现中英文切换的功能,这对于多语言支持的应用程序来说至关重要。 在Delphi中,实现中英文切换通常涉及到资源文件(Resource Files)和本地化(Localization)的概念。资源...
本文将详细讲解如何实现C#应用程序中菜单、工具栏和按钮等控件的中英文切换功能。 首先,我们需要理解Winform中的本地化(Localization)概念。本地化是使软件适应特定文化、地区或法律要求的过程。在C#中,我们...
在Windows Presentation Foundation (WPF) 中,实现应用的中英文切换是一项常见的本地化(Localization)任务。这通常涉及到资源管理、多语言支持以及用户界面的动态更新。在本例中,“wpf中英文切换”指的是在WPF...
这个“labview中英文切换.7z”压缩包文件可能包含了一个解决如何在LabVIEW环境中进行语言切换的VI(Virtual Instrument,虚拟仪器)程序。 在LabVIEW中,用户界面和编程环境默认是英文的,但为了适应全球用户的需求...
然而,"Android一键中英文切换"的解决方案提供了无需重启Activity就能实现语言切换的方法,极大地提升了用户体验。 这个解决方案的核心在于正确地管理和更新应用程序的字符串资源。在Android系统中,字符串资源通常...
在C#编程中,实现界面的中英文切换是一项常见的需求,尤其对于开发具有国际化的软件应用至关重要。这个"C#界面中英文切换Demo.zip"提供的示例应该包含了一个简单的C#项目,展示了如何在用户界面(UI)上动态地更改...
"Mastercam-X版中英文转换包.rar" 是一个针对Mastercam X版本的汉化工具,包含了使用户能够在中文和英文界面之间切换的资源。 该压缩包包含以下三个文件: 1. **MastrcamX简体中文汉化包.exe**:这是将Mastercam X...
本示例“vs+Qt 实现版本中英文切换”提供了一个使用Visual Studio(VS)2013和Qt 5.4框架构建的简单应用程序,演示了如何在软件中实现场景切换,即从中文界面切换到英文界面,反之亦然。这对于那些希望将他们的应用...