
一个汉字的机内码需用2个字节存储。 我国国家标准局于1981年5月颁布了《信息交换用汉字编码字符集——基本集》,代号为GB2312-80,共对6763个汉字和682个图形字符进行了编码,其编码原则为:汉字用两个字节表示。 原则上,两个字节可以表示 256×256=65536 种不同的符号,作为汉字编码表示的基础是可行的。
但考虑到汉字编码与其它国际通用编码,如ASCII 西文字符编码的关系,我国国家标准局采用了加以修正的两字节汉字编码方案,只用了两个字节的低7位。
这个方案可以容纳 128×128=16384 种不同的汉字,但为了与标准ASCII码兼容,每个字节中都不能再用32个控制功能码和码值为32的空格以及127的操作码。所以每个字节只能有94个编码。这样,双七位实际能够表示的字数是:94×94=8836个。
规则是将每个汉字用一个字节(8 位)来表示。在机内码中,最高位(第 8 位)用作校验位,用于检测编码是否出错。其余 7 位用于表示汉字的编码。
为了避免与 ASCII 码冲突,机内码编码规则通常将国标码中的每个汉字的低位字节最高位(第 7 位)设置为 1。这样,计算机在处理到首位是“1”的编码时,就可以识别出这是汉字的编码,而不是 ASCII 码。
通过这种编码规则,计算机可以在处理汉字时,正确地区分国标码和 ASCII 码,避免出现乱码现象。