汉字国标码,创建于1980年,目的为了使每个汉字有一个全国统一的代码而颁布了汉字编码的国家标准。每个汉字有个二进制编码,叫汉字国标码。 在我国汉字代码标准GB2312-80中有6763个常用汉字规定了二进制编码。
每个汉字有个二进制编码,叫汉字国标码。
在我国汉字代码标准GB2312-80中有6763个常用汉字规定了二进制编码。
每个汉字使用2个字节。
GB2312-80 GB2312将代码表分为94个区,对应第一字节;每个区94个位,对应第二字节,两个字节的值分别为区号值和位号值加32(20H)。01-09区为符号、数字区,16-87区为汉字区,10-15区、88-94区是有待进一步标准化的空白区。GB2312将收录的汉字分成两级:第一级是常用汉字计 3755个,置于16-55区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字计3008个,置于56-87区,按部首/笔画顺序排列。故而 GB2312最多能表示6763个汉字。
1980年,为了使每个汉字有一个全国统一的代码,我国颁布了汉字编码的国家标准:GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。国标码是一个四位十六进制数,区位码是一个四位的十进制数,每个国标码或区位码都对应着一个唯一的汉字或符号,但因为十六进制数我们很少用到,所以大家常用的是区位码,它的前两位叫做区码,后两位叫做位码。
输入码、区位码、国标码与机内码,这些词对每一位computer fan 来说,可能都不陌生,但其中的联系与区别,可能就不那么清楚了,下面就这问题讲述一下,以飨读者。
我们知道,键盘是当前微机的主要输入设备,输入码就是使用英文键盘输入汉字时的编码。目前,我国已推出的输入码有数百种,但用户使用较多的约为十几种,按输入码编码的主要依据,大体可分为顺序码、音码、形码、音形码四类,如“保”字,用全拼,输入码为“BAO”,用区位码,输入码为“1703 ”,用五笔字型则为“WKS”。
计算机只识别由0、1组成的代码,ASCII码是英文信息处理的标准编码,汉字信息处理也必须有一个统一的标准编码。我国国家标准局于1981年5月颁布了《信息交换用汉字编码字符集——基本集》,代号为GB2312-80,共对6763个汉字和682个图形字符进行了编码,其编码原则为:汉字用两个字节表示,每个字节用七位码(高位为0),;国家标准将汉字和图形符号排列在一个94行94列的二维代码表中,;每两个字节分别用两位十进制编码,前字节的编码称为区码,后字节的编码称为位码,此即区位码,如“保”字在二维代码表中处于17区第3位,区位码即为“1703 ”。
国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的代码,;再将这个代码的第一个字节和第二个字节分别加上20H,就得到国标码。如:“保”字的国标码为3123H,它是经过下面的转换得到的:1703D->1103H->+20H->3123H。国标码是汉字信息交换的标准编码,但因其前后字节的最高位为0,与ASCII码发生冲突,如“保”字,国标码为31H和23H,而西文字符“1”和“#”的ASCII也为31H和23H,现假如内存中有两个字节为31H和23H,这到底是一个汉字?还是两个西文字符“1”和“#”于是就出现了二义性,显然,国标码是不可能在计算机内部直接采用的,于是,汉字的机内码采用变形国标码,其变换方法为:将国标码的每个字节都加上128,即将两个字节的最高位由0改1,其余7位不变,如:由上面我们知道,“保”字的国标码为3123,前字节为00110001,后字节为00100011,高位改1为10110001和10100011 即为B1A3,因此,汉字的机内码就是B1A3H。
显然,汉字机内码的每个字节都大于128,这就解决了与西文字符的ASCII码冲突的问题。 如上所述,汉字输入码、区位码、国标码与机内码都是汉字的编码形式,它们之间有着千丝万缕的联系,但其间的区别也是不容忽视的。
希望我能帮助你解疑释惑。