GB2312汉字区位码、交换码和机内码转换方法(转)

简介:
GB2312汉字区位码、交换码和机内码转换方法 (ZT)
为了适应计算机处理汉字信息的需要,1981年我国颁布了GB2312国家标准。该标准选出6763个常用汉字(其中,一级常用汉字3755个,二级汉字3008个)和682个非汉字字符,并为每个字符规定了标准代码,以便在不同的计算机系统之间进行汉字文本交换。
GB2312字符集构成一个94行、94列的二维表,行号称为区号,列号称为位号,每一个汉字或符号在码表中的位置用它所在的区号和位号来表示。
为了处理与存储的方便,每个汉字的区号和位号在计算机内部分别用一个字节来表示。例如,“学”字的区号为49,位号为07,它的区位码即为4907,用2个字节的二进制数表示为:
00110001 00000111
区位码无法用于汉字通信,因为它可能与通信使用的控制码(00H~1FH)(即0~31)发生冲突。ISO2022规定每个汉字的区号和位号必须分别加上32(即二进制数00100000),经过这样的处理而得的代码称为国标交换码,简称交换码,因此,“学”字的国标交换码计算为:
  00110001   00000111
+00100000 +00100000
--------------------------
  01010001   00100111
用十六进制数表示即为5127H。
由于文本中通常混合使用汉字和西文字符,汉字信息如果不予以特别标识,就会与单字节的ASCII码混淆。此问题的解决方法之一是将一个汉字看成是两个扩展ASCII码,使表示GB2312汉字的两个字节的最高位都为1。这种高位为1的双字节汉字编码即为GB2312汉字的机内码,简称为内码。
因此,“学”字的机内码为:
11010001 10100111
用16进制表示即为D1A7H。
最后要指出的是,汉字的输入编码与汉字的机内码是不同范畴的概念。不管采用什么样的编码输入法(例如拼音、五笔字型等)来输入一个汉字,其机内码都是相同的。
说明:本文整理自《大学计算机信息技术教程》(南京大学出版社)一书。
 
-----------------------------------------------------------------
 
汉字库通俗地说就是计算机软件系统中的汉字仓库,依据不同的标准,字库中汉字的数量是不同的,以前的主要标准有:
  1、GB 2312 汉字编码字符集
  从1975年开始,我国为了研究汉字的使用频度,进行了大规模的字频统计工作,内容包括工业、农业、军事、科技、政治、经济、文学、艺术、教育、体育、医药卫生、天文地理、自然、化学、文字改革、考古等多方面的出版物,在数以亿计的浩瀚文献资料中,统计出实际使用的不同的汉字数为6335个,而其中有3000多个汉字的累计使用频度达到了99.9%,而另外的3000多个累计频度不到0.1%,说明了常用汉字与次常用汉字的数量不足7000个,这就为国家制定汉字库标准提供了依据。1980年颁布了《信息交换用汉字编码字符集—基本集》的国标交换码,国家标准号为:GB2312-80,选入了6763个汉字,分为两级,一级字库中有3755个,是常用汉字,二级字库中有3008个,是次常用汉字;还选入了682个字符,包含有数字、一般符号、拉丁字母、***假名、希腊字母、俄文字母、拼音符号、注音字母等。以前我国大陆的各种中文DOS版本、Windows3.1 /3.2版本,装入的字库都是国标一二级字库。遇到“镕、啰、瞭、袆、祎、曌、赟、贇、鱻、驫、犇……”等汉字,既无法输入,又不能打印。 
后来国家技术监督局又颁布了一个与之相对应的繁体字集,全称《信息交换用汉字编码字符集辅助集》,标准号为GB/T12345-90。

本文转自 http://blog.21ic.com/user1/1003/archives/2005/3648.html


博主ma6174对本博客文章(除转载的)享有版权,未经许可不得用于商业用途。转载请注明出处http://www.cnblogs.com/ma6174/

对文章有啥看法或建议,可以评论或发电子邮件到ma6174@163.com


本文转自ma6174博客园博客,原文链接:http://www.cnblogs.com/ma6174/archive/2011/12/22/2298206.html ,如需转载请自行联系原作者
相关文章
|
10月前
|
算法
超大字符串型整数乘除
超大字符串型整数乘除
42 0
|
10月前
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(1)
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(1)
129 0
|
10月前
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(4)
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(4)
102 0
|
10月前
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(5)
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(5)
|
10月前
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(3)
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(3)
104 0
|
10月前
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(2)
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(2)
111 0
|
10月前
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(6)
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(6)
126 0
c#之utf8和gb2312互转
c#之utf8和gb2312互转
107 0
MBS-FormItems组件常用类型
MBS-FormItems组件常用类型
221 0
|
索引
汉字编码对照表(gb2312/unicode/utf8)
一、汉字编码的种类     汉字编码中现在主要用到的有三类,包括GBK,GB2312和Big5。     1、GB2312又称国标码,由国家标准总局发布,1981年5月1日实施,通行于大陆。
4881 0