汉字点阵字库原理 一、汉字编码 1
区位码 在国标GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 行、94 列的方 阵中,方阵的每一行称为一个“区”,编号为 01 区到 94 区,每一列称为一个“位”,编号为 01 位到 94 位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉 伯数字就是它们的“区位码”
区位码的前两位是它的区号,后两位是它的位号
用区位码就 可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的 区位码
汉字“母”字的区位码是 3624,表明它在方阵的 36 区24 位,问号“
”的区位码为 0331,则它在03 区3l 位
一级汉字 16-55 区 二级汉字 56-87 区 三级汉字 1-9 区 空闲未用 10-15 区 2
机内码 汉字机内码,又称“汉字ASCII 码”,简称“内码”,汉字的机内码是指在计算机中表示一个汉字的编码
机内码与区位码稍有区别
如上所述,汉字区位码的区码和位码的取值均在1~ 94 之间,如直接用区位码作为机内码,就会与基本 ASCII 码混淆
为了避免机内码与基本 ASCII 码的冲突,需要避开基本 ASCII 码中的控制码(00H~ 1FH),还需与基本 ASCII 码中的字符相区别
为了实现这两点,可以先在区码和位码分别加上 20H,在此基础上再加80H(此处“H”表示前两位数字为十六进制数)
经过这些处理,用机内码表示一个汉字需要占两个字节,分别 称为高位字节和低位字节,这两位字节的机内码按如下规则表示: 高位字节 = 区码 + 20H + 80H(或区码 + A0H) 低位字节 = 位码 + 20H + 80H(或位码 + AOH) 由于汉字的区码与位码的取值范围的十六进制数均为 01H~ 5EH(即十进制的 01~ 9 4),所以汉字的高位字节与