
1.2.7 计算机中的汉字编码
我国于1981年颁布了《信息交换用汉字编码字符集:基本集》(GB 2312—80),简称国标码。GB 2312—80共收集汉字6 763个,其中,常用一级汉字3 755个,二级汉字3 008个。国标码的编码用两个字节(16位)表示一个汉字,所以理论上最多可以表示256×256(65 536)个汉字。例如,汉字“大”字的国标码为十六进制数3473H。
由于汉字数量庞大、编码复杂,所以计算机输入、存储、显示汉字时使用不同编码。
1. 机内码
在计算机内部,为了区分汉字编码和ASCII字符,将国标码每个字节的最高位由0改为1,以构成汉字的机内码,也称内码。汉字在计算机内部存储、处理和传输时都使用内码。
汉字内码=汉字国标码+(8080)16
例如:

2. 输入码
通过键盘向计算机中输入汉字所使用的编码为输入码,也称外码。
例如,以拼音为基础的拼音类输入法,如搜狗输入法、智能ABC、微软全拼等;以字形为基础的字形类输入法,如五笔字型;以拼音、字形混合为基础的混合类输入码,如自然码。随着拼音类输入法的识别率不断提高,拼音类输入法得到了广泛应用。
3. 输出码
输出码也称汉字字形码,指汉字字库中存储的汉字字形的数字化信息,用于汉字的显示或打印输出。不同的汉字字库存放不同形状的汉字字形(即字体),如宋体、楷体、隶书等,分为点阵和矢量两种表示方法。
(1)点阵字库
用点阵表示字形时,将一个汉字放在一个多行多列的网格中,有笔画经过的网格用二进制位1表示,没有笔画经过的网格用二进制位0表示,这样就构成汉字的点阵,如图1-17所示。一般有16×16、24×24、48×48、64×64点阵,行列数越多,字形质量越高,所占空间也越大。

图1-17 点阵字库
汉字字形码以二进制数形式保存在存储器中,构成汉字字库。每个汉字在字库中都占有一个固定大小的连续存储空间,如48×48点阵,需要288Byte(48×48/8)空间存放一个汉字的字形码。
(2)矢量字库
矢量汉字字库存储的是描述汉字字形的轮廓特征,当要输出汉字时,通过计算机的计算由汉字字形描述生成所需大小和形状的汉字点阵。矢量表示方式与分辨率无关,因此可以产生高质量的汉字输出,且放大汉字以后不会影响其输出效果。Windows中使用的TrueType技术就是汉字的矢量表示方式,如图1-18所示。

图1-18 TrueType字库