一、区位码:
为了使每一个汉字有一个全国统一的代码,1980年,我国颁布了第一个汉字编码的国家标准: GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。由于国标码是四位十六进制,为了便于交流,大家常用的是四位十进制的区位码。所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个"区",每一列称为一个"位",因此,这个方阵实际上组成了一个有94个区(区号分别为0 1到94)、每个区内有94个位(位号分别为01到94)的汉字字符集。一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的"区位码"。在汉字的区位码中,高两位为区号,低两位为位号。 在区位码中,01-09区为682个特殊字符,16~87区为汉字区,包含6763个汉字 。其中16-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),56-87区为二级汉字(3008个汉字,按部首次序排列)。
二、国标码:
国标码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码。这样就得了一个与国标码有一个相对位置差的代码。再将这个代码的第一个字节和第二个字节分别加上20H,就得到国标码。
汉字国标码的范围用二进制表示是:00100001(33) 00100001(33)到01111110(126) 01111110(126) (括号中为十进制数), 7 位ASCII码是128个字符组成的字符集。其中编码值 0到31(00000000到00011111)对应不可印刷字符,通常称作“控制符”,用于计算机通信中的通信控制或对计算机设备的功能控制。编码值32(00100000)是空格字符SP,编码值127(01111111)是删除字符DEL。
汉字国标码的起始二进制位置选择00100001(33)是为了跳过ASCII码中前32个控制字符和空格字符SP,终止二进制位置选择01111110(126)是为了跳过ASCII码中最后1个删除字符DEL。因此,汉字国标码的高位和低位分别比对应的区位码大32(十进制数)或00100000(二进制数)或20H(十六进制数),即: 国标码高位 = 区码 + 20H(H表示十六进制),国标码低位 = 位码 + 20H。
三、机内码:
四、常用汉字机内码:
因为常用汉字区位码是从16区开始的,所以其机内码即从B0A0H开始(10H+A0H=B0H),到D7F9结束。又由于每个区的开始和结束都是空格,所以位码不能为A0H和FFH。