下面的两个方法用来解决乱码问题非常有用.
将包含汉字的字符串转换成英文:
/**
* 将中英文字串转换成纯英文字串
* @param str
* @return
*/
public static String toTureAsciiStr(String str) {
StringBuffer sb = new StringBuffer();
byte[] bt = str.getBytes();
for(int i =0 ;i<bt.length;i++){
if(bt[i]<0){
//是汉字去高位1
sb.append((char)(bt[i] & 0x7F));
}else{
//是英文字符 补0作记录
sb.append((char)0);
sb.append((char)bt[i]);
}
}
return sb.toString();
}
将转换后的字符串还原:
/**
* 将经转换的字串还原
* @param str
* @return
*/
public static String unToTrueAsciiStr(String str){
byte[] bt = str.getBytes();
int i,l=0,length = bt.length,j=0;
for(i = 0;i<length;i++){
if(bt[i] == 0){
l++;
}
}
byte[] bt2 = new byte[length-l];
for(i =0 ;i<length;i++){
if(bt[i] == 0){
i++;
bt2[j] = bt[i];
}else{
bt2[j] = (byte)(bt[i]|0x80);
}
j++;
}
String tt = new String(bt2);
return tt;
}
注意:上例在实际编程中效果很好,只是存储的中文信息需要经过同样处理,才能被其他系统使用。而且如果中文字串出现英文字符,实际上增加了额外的存储空间。
分享到:
相关推荐
"GB2312, UTF8, UCS2汉字编码生成与转换工具"就是这样一个实用工具,它能够帮助用户方便地进行编码间的转换,确保信息在各种系统间准确无误地传递。 对于"release"这个文件,它可能是该工具的发行版本,可能包含了...
标题中的"unicode码与GB码互相转换"涉及到两种主要的汉字编码标准:Unicode(国际通用的字符编码标准)和GBK(中国国家标准的扩展GB2312编码)。在嵌入式系统或者文件系统中,为了正确显示和存储中文字符,就需要...
一些设备串口通讯使用的是unicode,这时候我们解码就要使用unicode 编码包含的是中文,英文,俄文还是日文什么的,只要把它转换成Unicode就能被识别,而不用再考虑...unicode编码(UTF8)的十六进制 与字符 互相转换
字符互相转换在实际应用中非常常见。例如,如果你在一个只支持ASCII的系统中尝试输入非英文字符,可能会出现乱码。此时,就需要将UTF-8编码的文本转换为ASCII,但这通常意味着非ASCII字符将被替换为问号或其他替代...
可以根据中文或英文互相转换
在JavaScript编程中,实现阿拉伯数字和中文数字之间的互相转换是一个常见的需求,这涉及到字符串处理和数值计算。本文将详细介绍如何利用JavaScript实现这一功能。 首先,我们要理解中文数字的特点。中文数字由一...
本文将详细介绍UTF-8和GBK编码,以及如何在.NET环境中进行这两种编码文件的互相转换。 首先,UTF-8是一种基于Unicode的字符编码方案,它能表示Unicode字符集中所有的字符。UTF-8的特点是其编码效率高,对于英文字符...
- **ASCII到Unicode/UTF-8**:ASCII是7位编码,包含基本的英文字符,转换到Unicode或UTF-8可以处理更多语言的字符。 - **GBK到UTF-8**:GBK是中国大陆常用的编码,包含大量中文字符,但不兼容Unicode。转换到UTF-8...
尽管中文版手册存在一些问题,但是结合英文版,我们可以更完整地理解Go语言的各个方面。对于遇到的问题,可以参考官方文档或在线社区资源来解决。同时,学习Go语言的过程中,动手实践和阅读优秀的开源项目也是非常...
字符工具V1.6是一款集成了UTF-8、unicode(UCS-2/UTF-16)和GBK字符格式互相转换功能的实用软件,同时具备空格剔除、换行剔除以及和校验和异或校验的高效工具。本文将详细介绍这些核心知识点。 首先,我们要了解...
对于ASCII字符(如英文字符),UTF-8只用一个字节,而对于非ASCII字符,如汉字,可能需要2到4个字节。UTF-8的最大优点在于其向后兼容ASCII,因此在网络传输和存储中被广泛应用。 UTF-8-BOM,全称是“UTF-8 Byte ...
在设计时,通常会在NAME字段中输入中文名称,而在Comment字段中输入英文描述,以便于显示和代码中使用。同时,Comment中的内容会存储到数据库对象(如Table或Column)的注释中。然而,当NAME已经存在时,手动更新...
中文数字和英文数字大小写互相转换,SWF格式直接使用回车后变换。
能完成字符与Unicode串的互相转换,可选不转英文,只转中文。也可完成字符与HEX串的互相转换
Notepad2是一个外观类似系统记事本的文本编辑工具,但比记事本有了很大的增强。 ... 2 支持ANSI,Unicode,UTF-8等编码互换 ...4 空格,制表符彩色显示,并可互相转换 5 可以对任意的文本块进行操作,ALT键+鼠标
本文将深入探讨C语言中如何实现GBK与UTF-8的互相转换,同时不依赖任何外部库。 GBK是中国大陆广泛采用的一种汉字编码标准,它是GB2312的扩展,包含了更多的汉字和符号,能够覆盖大部分中文字符。UTF-8则是一种多...
- ASCII码只能表示128个基本的拉丁字符和一些控制字符,对于非英文字符(如中文、希腊文等)则需要使用更大的字符集,如Unicode。 - `charCodeAt()`方法返回的是Unicode编码,而非纯ASCII码。但ASCII是Unicode的一个...
GB2312,全称“国标汉字编码”,是中国大陆使用最广泛的简体中文字符集,包含了6763个常用汉字。然而,随着互联网的全球化发展,UTF-8编码因其兼容性更强而逐渐成为主流。UTF-8是一种变长的Unicode编码方式,它可以...
简体中文和繁体中文是汉字的两种主要书写形式。简体中文是在20世纪初为了提高识字率和书写效率而推广的,其特点是笔画简单,字形规整。繁体中文则是传统汉字的写法,历史悠久,字形复杂。Unicode为这两种中文都提供...
这种情况下,我们可以给 EmEditor 安装一个简繁互相转换的插件。插件启用后,直接选中要转换的文字,然后点击插件栏上的"简"或"繁"按钮即可实现成批转换。 英汉符号互相用错的替换 此外,还有一些符号的英汉互相错...