`

汉字与英文的互相转换

    博客分类:
  • java
阅读更多

下面的两个方法用来解决乱码问题非常有用.

 

将包含汉字的字符串转换成英文:

/**
	 * 将中英文字串转换成纯英文字串 
	 * @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; 
	}

 注意:上例在实际编程中效果很好,只是存储的中文信息需要经过同样处理,才能被其他系统使用。而且如果中文字串出现英文字符,实际上增加了额外的存储空间。

0
1
分享到:
评论

相关推荐

    GB2312,UTF8,UCS2汉字编码生成与转换工具

    "GB2312, UTF8, UCS2汉字编码生成与转换工具"就是这样一个实用工具,它能够帮助用户方便地进行编码间的转换,确保信息在各种系统间准确无误地传递。 对于"release"这个文件,它可能是该工具的发行版本,可能包含了...

    unicode码与GB码互相转换

    标题中的"unicode码与GB码互相转换"涉及到两种主要的汉字编码标准:Unicode(国际通用的字符编码标准)和GBK(中国国家标准的扩展GB2312编码)。在嵌入式系统或者文件系统中,为了正确显示和存储中文字符,就需要...

    unicode编码(UTF8)的十六进制 与字符 互相转换

    一些设备串口通讯使用的是unicode,这时候我们解码就要使用unicode 编码包含的是中文,英文,俄文还是日文什么的,只要把它转换成Unicode就能被识别,而不用再考虑...unicode编码(UTF8)的十六进制 与字符 互相转换

    ASCII 及UTF-8 与字符互相转换

    字符互相转换在实际应用中非常常见。例如,如果你在一个只支持ASCII的系统中尝试输入非英文字符,可能会出现乱码。此时,就需要将UTF-8编码的文本转换为ASCII,但这通常意味着非ASCII字符将被替换为问号或其他替代...

    VB中英文转换软件

    可以根据中文或英文互相转换

    JavaScript实现阿拉伯数字和中文数字互相转换

    在JavaScript编程中,实现阿拉伯数字和中文数字之间的互相转换是一个常见的需求,这涉及到字符串处理和数值计算。本文将详细介绍如何利用JavaScript实现这一功能。 首先,我们要理解中文数字的特点。中文数字由一...

    utf-8和GBK编码文件互相转换

    本文将详细介绍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...

    golang 中英双版

    尽管中文版手册存在一些问题,但是结合英文版,我们可以更完整地理解Go语言的各个方面。对于遇到的问题,可以参考官方文档或在线社区资源来解决。同时,学习Go语言的过程中,动手实践和阅读优秀的开源项目也是非常...

    字符工具V1.6.zip UTF8 unicode GBK字符格式互相转换 空格剔除 换行剔除 和校验 异或校验

    字符工具V1.6是一款集成了UTF-8、unicode(UCS-2/UTF-16)和GBK字符格式互相转换功能的实用软件,同时具备空格剔除、换行剔除以及和校验和异或校验的高效工具。本文将详细介绍这些核心知识点。 首先,我们要了解...

    gb2312,utf-8,utf-8-bom等编码格式的互相转换

    对于ASCII字符(如英文字符),UTF-8只用一个字节,而对于非ASCII字符,如汉字,可能需要2到4个字节。UTF-8的最大优点在于其向后兼容ASCII,因此在网络传输和存储中被广泛应用。 UTF-8-BOM,全称是“UTF-8 Byte ...

    使用PowerDesigner对NAME和COMMENT互相转换.docx

    在设计时,通常会在NAME字段中输入中文名称,而在Comment字段中输入英文描述,以便于显示和代码中使用。同时,Comment中的内容会存储到数据库对象(如Table或Column)的注释中。然而,当NAME已经存在时,手动更新...

    大小写转换软件

    中文数字和英文数字大小写互相转换,SWF格式直接使用回车后变换。

    字符编码转换

    能完成字符与Unicode串的互相转换,可选不转英文,只转中文。也可完成字符与HEX串的互相转换

    notepad2 中文版

    Notepad2是一个外观类似系统记事本的文本编辑工具,但比记事本有了很大的增强。 ... 2 支持ANSI,Unicode,UTF-8等编码互换 ...4 空格,制表符彩色显示,并可互相转换 5 可以对任意的文本块进行操作,ALT键+鼠标

    c gbk和 utf-8 转换

    本文将深入探讨C语言中如何实现GBK与UTF-8的互相转换,同时不依赖任何外部库。 GBK是中国大陆广泛采用的一种汉字编码标准,它是GB2312的扩展,包含了更多的汉字和符号,能够覆盖大部分中文字符。UTF-8则是一种多...

    JavaScript字符和ASCII实现互相转换

    - ASCII码只能表示128个基本的拉丁字符和一些控制字符,对于非英文字符(如中文、希腊文等)则需要使用更大的字符集,如Unicode。 - `charCodeAt()`方法返回的是Unicode编码,而非纯ASCII码。但ASCII是Unicode的一个...

    用dreamweaver将gb2312转utf8编码互相转换的图文教程

    GB2312,全称“国标汉字编码”,是中国大陆使用最广泛的简体中文字符集,包含了6763个常用汉字。然而,随着互联网的全球化发展,UTF-8编码因其兼容性更强而逐渐成为主流。UTF-8是一种变长的Unicode编码方式,它可以...

    ASCII码和Unicode中韩字符集(包括简体和繁体中文)很强大

    简体中文和繁体中文是汉字的两种主要书写形式。简体中文是在20世纪初为了提高识字率和书写效率而推广的,其特点是笔画简单,字形规整。繁体中文则是传统汉字的写法,历史悠久,字形复杂。Unicode为这两种中文都提供...

    如何批量修改字母标点全角半角?.docx

    这种情况下,我们可以给 EmEditor 安装一个简繁互相转换的插件。插件启用后,直接选中要转换的文字,然后点击插件栏上的"简"或"繁"按钮即可实现成批转换。 英汉符号互相用错的替换 此外,还有一些符号的英汉互相错...

Global site tag (gtag.js) - Google Analytics