- 浏览: 54871 次
- 性别:
- 来自: 厦门
最新评论
为了避免在浏览器中传输数据的时候出现中文乱码,我们可以将内容进行URL编码,当然也可以将内容进行UNICODE编码。将汉字进行 UNICODE编码,如:“王”编码后就成了“\u738b”,UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制的数字,每两位表示的256以内的一个数字。而一个汉字是由两个字符组成,于是就很容易理解了,“738b”是两个字符,分别是“73”“8b”。但是在将 UNICODE字符编码的内容转换为汉字的时候,字符是从后面向前处理的,所以,需要把字符按照顺序“8b”“73”进行组合得到汉字。下面是具体的转化代码。
/// <summary> /// 将汉字转换为Unicode /// </summary> /// <param name="text">要转换的字符串</param> /// <returns></returns> public static string GBToUnicode(string text) { byte[] bytes = System.Text.Encoding.Unicode.GetBytes(text); string lowCode = "", temp = ""; for (int i = 0; i < bytes.Length; i++) { if (i % 2 == 0) { temp = System.Convert.ToString(bytes[i], 16);//取出元素4编码内容(两位16进制) if (temp.Length < 2) temp = "0" + temp; } else { string mytemp = Convert.ToString(bytes[i], 16); if (mytemp.Length < 2) mytemp = "0" + mytemp; lowCode = lowCode + @"\u" + mytemp + temp;//取出元素4编码内容(两位16进制) } } return lowCode; } /// <summary> /// 将Unicode转换为汉字 /// </summary> /// <param name="name">要转换的字符串</param> /// <returns></returns> public string UnicodeToGB(string text) { MatchCollection mc = Regex.Matches(text, "([\\w]+)|(\\\\u([\\w]{4}))"); if (mc != null && mc.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (Match m2 in mc) { string v = m2.Value; if (v.StartsWith("http://www.cnblogs.com/xczt/admin/file://u/")) { string word = v.Substring(2); byte[] codes = new byte[2]; int code = Convert.ToInt32(word.Substring(0, 2), 16); int code2 = Convert.ToInt32(word.Substring(2), 16); codes[0] = (byte)code2; codes[1] = (byte)code; sb.Append(Encoding.Unicode.GetString(codes)); } else { sb.Append(v); } } return sb.ToString(); } else { return text; } }
发表评论
-
servlet jsp 的生命周期
2012-02-09 15:20 1443servlet的生命周期分为以下几个步骤, 第一,加载并实例化 ... -
反射内部类
2011-11-25 18:30 922package test; public class ... -
Date和Calendar类
2010-06-23 08:58 8051、具体类(和抽象类相对)java.util.Date 2、 ... -
Maven2和ivy比较
2010-06-22 13:14 1373Maven 2和Ivy常被放在一起对比,但实际上两者是不同 ... -
JAVA连接DB2注意事项
2010-05-15 23:21 1177使用Class.forName("COM.ibm. ... -
JAVA的MD5加密
2010-01-19 20:44 940MD5的全称是Message-Digest ... -
Web.xml的解析
2010-01-18 13:32 1027web.xml元素介绍 web.xml首先是肯定要包含它的 ... -
JAVA多线程
2010-01-18 13:23 698java.lang.Thread 和 java.lang.R ... -
Java常用工具类(字符编码,时间等)
2010-01-09 16:20 1395/** * 将UTF编码的字符串转化为GB2312 ... -
JDBC调用存储过程
2010-01-09 16:17 904call 语法格式{call 存储过程名(参数列表)} ... -
java读取配置文件
2010-01-09 16:11 8331、随机id的产生如何实现 引入如下的包: impo ... -
Eclipse中JVM内存设置
2010-01-09 16:06 632eclipse.ini内存设置 -vmarg ... -
Hibernate 中 执行 原生 SQL 语句
2010-01-09 16:04 3166用hibernate的executeQuery来执行SQL ... -
hibernate完成oracle存储过程(stored procedures)
2010-01-09 15:59 1142import java.sql.CallableState ... -
oracle 下hibernate3.2 sequence generator 生成id的问题
2010-01-09 15:57 1274@SequenceGenerator(name=&q ... -
hibernate三重关联
2009-12-25 12:15 1077------------------------------- ... -
iframe跨域访问cookie、Sessio
2009-12-23 22:20 19411、IE浏览器iframe跨域丢失Session问题 在开发 ... -
拦截系统关闭信号
2009-12-19 21:31 1048在Java窗口程序中按ctrl+c会强行中止Java程序。点击 ...
相关推荐
将形如\u4ec4\u4ec5\u4ec6\的Unicode编码转换成汉字,将汉字转换为unicode编码。
用这个小工具可以实现汉字与unicode编码互转
excel 公式 自动转换unicode编码为汉字
汉字编码转换工具,实现了汉字与 utf-8 gb2312 unicode 互转,开发者多百多度 qq:547170882
通过查表实现C语言GBK、Unicode与UTF8互转,含转码表及接口函数,用于处理汉字编码的转码
实现Unicode和汉字的互相转码,解压后excel文档直接转换,方便快捷。
vb unicode,中文互转 vb当同时存在英文、汉字、Unicode码,只把其中的Unicode码转换为汉字.
Delphi演示如何实现UniCode编码、汉字的繁简互转功能,同时将字符转换为unicode码值(十六进制): 常用编码: codepage=936 简体中文GBK codepage=950 繁体中文BIG5 codepage=437 美国/加拿大英语 code...
个是就是把汉字和Unicode编码互转的javascript代码,也是从网上找到了,也许有人用得着!!
使用C++实现字符与UNICODE十六进制字符串之间的互转;字符包括汉字,英文,数字等。需要的朋友可以下载。 使用C++实现字符与UNICODE十六进制字符串之间的互转;字符包括汉字,英文,数字等。需要的朋友可以下载。
C++Builder String,UNICODE,UTF8,ANSI互转的类,类的互相转换
输入一段字符串(汉字或者英文),可将其转换为Unicode编码或AscII编码。 其中有一段代码避免程序的重复执行(调试通过),原理:在程序启动时将Application的Title特性字段的值暂时改变。利用Windows API函数Find...