`
风沙星辰
  • 浏览: 56225 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

UNICODE与汉字编码互转

    博客分类:
  • java
阅读更多

  为了避免在浏览器中传输数据的时候出现中文乱码,我们可以将内容进行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;
}
}
分享到:
评论

相关推荐

    Unicode编码与汉字互转.rar

    这个压缩包文件"Unicode编码与汉字互转.rar"显然是一个关于如何在Qt C++环境中处理Unicode编码,特别是涉及到汉字转换的资源集合。让我们深入探讨一下Unicode编码、汉字与Qt C++之间的关系,以及如何进行转换。 ...

    VB6.0 Unicode码 汉字 互转,支持混合互转.zip

    本文将详细讨论如何在VB6.0中实现Unicode码与汉字的互转,以及如何处理混合编码的转换。 首先,我们需要理解Unicode的基本概念。Unicode是一个国际标准,为每个字符分配一个唯一的数字,不论这个字符属于哪种语言。...

    汉字与UNICODE编码互转

    用这个小工具可以实现汉字与unicode编码互转

    unicode和汉字转换

    在描述中提到的“实现Unicode和汉字的互相转码”,这意味着提供的资源可能是一个工具或者程序,可以将Unicode编码的文本转换为特定的汉字编码,反之亦然。这在处理不同系统间的数据交换时尤其有用,例如,当需要将...

    UNICODE与GB编码互转C源代码

    UNICODE 和 GB 编码是两种常见的字符编码标准,它们各自有着不同的特性和应用场景。本资源提供了一组 C 语言的源代码,用于在 UNICODE 和 GB 编码之间进行转换,帮助开发者解决在不同编码系统之间互换数据时遇到的...

    excel 公式 自动转换unicode编码为汉字

    excel 公式 自动转换unicode编码为汉字

    汉字编码转换工具(汉字与utf-8转换 gb2312转换 unicode 转转

    汉字编码转换工具,实现了汉字与 utf-8 gb2312 unicode 互转,开发者多百多度 qq:547170882

    C语言GBK、Unicode与UTF8互转代码,含转码表及接口函数

    1. **GBK编码**:GBK是中国大陆广泛使用的汉字编码标准,它是GB2312的扩展,兼容GB2312的同时增加了更多的汉字和其他字符,总共包含20902个汉字以及符号。 2. **Unicode**:Unicode是一种国际化的字符集,它试图为...

    c/c++采用编码转换表实现gbk与unicode互转

    GBK是中国大陆广泛使用的汉字编码标准,它兼容GB2312,包含约20902个汉字,覆盖了大部分常用汉字。而Unicode是一种国际化的字符集,旨在包含世界上所有语言的字符,其最新版本包含超过140000个代码点。 在C/C++中,...

    Unicode汉字互转工具源码

    在IT领域,Unicode汉字互转工具有着重要的地位,它主要处理的是字符编码的问题,特别是汉字在不同系统或平台间的转换。这篇分享的源码是用C#编写的,意在帮助开发者理解和实现汉字与Unicode编码之间的转换。下面将...

    unicode中文互转工具

    Unicode中文互转工具是一款专为处理Unicode编码与中文字符间转换问题而设计的应用程序。Unicode是一种国际标准,它为世界上几乎所有的文字系统提供了一个统一的编码方式,使得跨语言、跨平台的信息处理变得可能。在...

    c语言利用编码转换表实现gbk与unicode互转

    通过以上步骤,我们就能够在C语言中利用编码转换表实现GBK与Unicode的互转。这种方法虽然较为原始,但在某些特定场景下,尤其是资源有限或者对性能要求较高的嵌入式系统中,仍然是一个实用的解决方案。

    中英文与Unicode码互转

    《中英文与Unicode码互转》是一款非常实用的工具,主要功能是帮助用户将中文和英文字符转换成Unicode编码,反之亦然。Unicode是一种全球通用的字符编码标准,旨在为世界上所有的文字提供一个统一的表示方式,使得...

    字库制作,unicode与GBK编码双向互转,相关字库工具资料

    在“汉字编码资料工具大全”这个压缩包文件中,可能包含了一系列关于字库制作、Unicode与GBK编码转换的教程、软件、参考资料和示例。用户可以从中学习如何使用这些工具,理解编码原理,并进行实际操作。例如,可能会...

    unicode编码与汉字的对应关系

    在探讨“Unicode编码与汉字的对应关系”这一主题时,我们首先需要理解Unicode编码系统的基本概念及其在现代信息...无论是从事软件开发、网页设计还是数据处理,掌握Unicode与汉字编码的相关知识都是必不可少的技能。

    unicode和GBK互转源码及查表

    标题中的"unicode和GBK互转源码"指的是实现这种转换的程序代码。通常,这些源码会包含两个主要功能:`unicode_to_gbk`和`gbk_to_unicode`。前者用于将Unicode编码的字符串转换为GBK编码,后者则相反。转换过程中,...

    Unicode字符和汉字相互转换的网页转码实现源码.rar

    总的来说,理解和掌握Unicode与汉字编码之间的转换是处理多语言网页和文本的关键,这对于开发全球化应用和服务至关重要。同时,实际编码转换的实现需要考虑到各种编码格式、错误处理以及用户体验等因素。通过学习和...

    Delphi演示UniCode编码、简体繁体互转的方法实现.rar

    Delphi演示如何实现UniCode编码、汉字的繁简互转功能,同时将字符转换为unicode码值(十六进制):  常用编码:  codepage=936 简体中文GBK  codepage=950 繁体中文BIG5  codepage=437 美国/加拿大英语  code...

Global site tag (gtag.js) - Google Analytics