汉字编码转换

汉字编码转换

相关:

UNICODE 是为了处理包括中文,日文等字符而提出的一种通用的字符集。最初的UNICODE为双字节字符集,即16位编码,能够包括65,536个字符。但这样的容量并不能满足所有需要,因此,现在的UNICODE已经扩展到4个字节,能够容纳1,112,064 个字符,而这些在16位之后的扩展背称为增补字符。

UTF-32 UTF-16 UTF-8 Unicode 标准的编码字符集的字符编码方案。

UTF-8 使用一至四个字节的序列对编码 Unicode 代码点进行编码

UTF-8 使用一至四个字节的序列对编码 Unicode 代码点进行编码。U+0000 至 U+007F 使用一个字节编码,U+0080 至 U+07FF 使用两个字节,U+0800 至 U+FFFF 使用三个字节,而 U+10000 至 U+10FFFF 使用四个字节。UTF-8 设计原理为:字节值 0x00 至 0x7F 始终表示代码点 U+0000 至 U+007F(Basic Latin 字符子集,它对应 ASCII 字符集)。这些字节值永远不会表示其他代码点,这一特性使 UTF-8 可以很方便地在软件中将特殊的含义赋予某些 ASCII 字符。

  GB2312(1980 ) 一共收录了 7445 个字符,包括 6763 个汉字和 682 个其它符号。汉字区的内码范围高字节从 B0-F7 ,低字节从 A1-FE ,占用的码位是 72*94=6768 。其中有 5 个空位是 D7FA-D7FE 。当然也可以表示数字和字符(一个字节,与 ASCII 表示相同)。

要读取一个以 GB2312 编码的包含汉字、数字、字母的二进制文件。

String strName =Encoding.GetEncoding("gb2312").GetString(name,0,i) ;

// name 是读取的二进制数组。

这样就能将二进制数组转换为 汉字、数字或字母

同样:也可以将包含汉字、数字、字母的字符串转换为 二进制数组保存到 二进制文件。

String unicodeString =   " 备用43E";

Byte[] encodedBytes = Encoding.GetEncoding("gb2312").GetBytes(unicodeString);

当然也可以进行二进制数组与UNICODE,UTF-8等编码方式的转换

Byte[] encodedBytes = utf8.GetBytes(unicodeString);

String decodedString = utf8.GetString(encodedBytes);

UnicodeEncoding unicode = new UnicodeEncoding();

Byte[] encodedBytes = unicode.GetBytes(unicodeString);

String decodedString = unicode.GetString(encodedBytes);

posted on 2008-01-10 11:46 灵! 阅读(550) 评论(0)  编辑  收藏 所属分类: Java技术-字符串处理


只有注册用户登录后才能发表评论。


网站导航:
 
<2008年1月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

随笔分类

随笔档案

最新评论

阅读排行榜

评论排行榜