loading

学习国标码、机内码和区位码

基本概念

  1. 输入码:是一种用来输入汉字的输入法编码方式。
  2. 国标码:国标码,也称为交换码,是一种用来输入汉字的输入法编码方式。
  3. 机内码:是计算机中用于表示字符、数字、符号等的二进制代码。它直接对应于电脑中的物理电路状态,是计算机处理数据时所使用的最基本形式,通常是由一定数量的二进制位组成的数字编码。
  4. 字形码:点阵代码的一种,把汉字按图形符号设计成点阵图,就得到了相应的点阵代码(字形码)。

汉字信息处理流程

image

汉字输入到计算机内部之后,通过国标码将对应汉字的编码找出来;然后,对应的汉字国标码转换为机内码进行存储;最后,以字形码的标准正确显示每一个汉字的点阵图。

输入码

根据汉字的发音(拼音)和笔画来确定汉字的编码。不同的输入码方式可能有不同的编码规则和键盘布局,但一般都需要用户根据汉字的拼音来查找相应的键码。

最常见的输入法之一是“拼音输入法”,它的输入码是根据汉字的拼音音节来确定的。例如,在使用拼音输入法的电脑上,如果要输入“中”字,则只需要按一下键盘上的“zhong”键,然后在提示框中选择“中”字即可输入。

目前常用的汉字编码有:

  1. 音码:主要是以汉语拼音为基础的编码方案,如全拼、双拼等。目前比较流行的拼音输入法有搜狗拼音输入法。
  2. 形码:形码主要是根据汉字的特点,按汉字固有的形状,把汉字拆分成部首,然后进行组合,代表有五笔输入法。

区位码

区位码是按照汉字的笔画和在字形图中所处的位置(区位)的代码,将汉字进行编号的一种方法。

区位码由两位数字组成,其中第一位数字代表汉字在笔画顺序表中的笔画数,第二位数字代表汉字所处笔画的位置(区位)。不过由于区位码处理方法较为复杂,也存在码位不够、无法表示繁体字等问题,逐渐被拼音输入法等更加便捷的汉字输入法所取代。

国标码

国标码是我国 1980 年发布的字符编码,代号为 GB2312。国标码转换为机内码的过程是将国标码的编码值转换为对应的二进制形式,以便计算机硬件能够处理。

国标码计算

\[国标码=区位码+2020H \]

机内码

机内码,也称为内部编码或机器码,是计算机在内部使用的一种编码系统。它是计算机硬件和微处理器所能直接识别和处理的编码形式。

机内码通常是二进制的形式,由 0 和 1 组成。可以表示各种数据类型,如整数、字符、浮点数等。不同的数据类型可能使用不同的机内码表示方式,例如,整数可以使用补码表示。

机内码计算

汉字在计算机内部占用两个字节。机内码与 GB2312 国标码之间有着明显的区别。GB2312 国标码可以被看作是字典目录,而机内码可以被看作是字典实实在在记录的每一条数据。

\[机内码=国标码+8080H \]

字形码

汉字字形码也叫作汉字字模或汉字输出码,用于汉字在显示屏或打印机输出。汉字字形码有两种表示方式:点阵式和矢量式。

一般汉字的点阵式 16×16,点阵越大,描述的字形越细致没关,质量越高,所占存储空间也越大。在计算机中,8 个二进制位组成一个字节,因此,一个 16×16 点阵的字形码需要:

\[\frac{16×16}{8}=32 \]

最后计算的要求是字节单位,因此计算结果需要除以 8。

1 bit = 8 byte;1024 byte = 1 kbyte(kb)。

计算题

【问题】一个汉字“大”的区位码是 2083,求国标码和机内码?
【解析】

  1. 以四位十进制数来表示,20 是区码,83 是位码。
  2. 区码和位码要单独进行进制转换。区码 20 的十六进制为 14H,位码 83 的十六进制为 53H。
  3. 分别对区码和位码进行加法运算,即加 20H,就可以得到汉字的国标码。
  4. 通过以上得到的两个十六进制数再分别加 80H,就可以得到汉字的机内码。

【计算】

  1. 国标码:14H + 20H = 34H53H + 20H = 73H
  2. 机内码:34H + 80H = B4H73H + 80H = F3H

因此,国标码是 3473H;机内码是 B4F3H。

posted @ 2022-03-29 00:19  Himmelbleu  阅读(1256)  评论(0编辑  收藏  举报