当前位置:文档之家› 输入码、国标码、机内码、字型码

输入码、国标码、机内码、字型码

西文是拼音文字,基本符号比较少,编码比较容易,因此,在一个计算机系统中,输入、内部处理、存储和输出都可以使用同一代码。汉字种类繁多,编码比拼音文字困难,因此在不同的场合要使用不同的编码。通常有4种类型的编码,即输入码、国标码、内码、字形码。

① 输入码

输入码所解决的问题是如何使用西文标准键盘把汉字输入到计算机内。有各种不同的输入码,主要可以分为三类:数字编码、拼音编码和字编型码。

● 数字编码。就是用数字串代表一个汉字,常用的是国标区位码。它将国家标准局公布的6763个两级汉字分成94个区,每个区分94位。实际上是把汉字表示成二维数组,区码、位码各用两位十进制数表示,输入一个汉字需要按4次键。数字编码是惟一的,但很难记住。比如“中”字,它的区位码以十进制表示为5448(54是区码,48是位码),以十六进制表示为3630(36是区码,30是位码)。以十六进制表示的区位码不是用来输入汉字的。

● 拼音编码。是以汉字读音为基础的输入方法。由于汉字同音字太多,输入后一般要进行选择,影响了输入速度。

● 字型编码。是以汉字的形状确定的编码,即按汉字的笔画部件用字母或数字进行编码。如五笔字型、表形码,便属此类编码,其难点在于如何拆分一个汉字。

② 国标码

又称为汉字交换码,在计算机之间交换信息用。用两个字节来表示,每个字节的最高位均为0,因此可以表示的汉字数为214=16384个。将汉字区位码的高位字节、低位字节各加十进制数32(即十六进制数的20),便得到国标码。例如“中”字的国标码为8680(十进制)或7468(十六进制)。这就是国家标准局规定的GB2312—80信息交换用汉字编码集。

③ 内码

汉字内码是在设备和信息处理系统内部存储、处理、传输汉字用的代码。无论使用何种输入码,进入计算机后就立即被转换为机内码。规则是将国标码的高位字节、低位字节各自加上128

为了统一表示世界各国的文字,1993年国际标准化组织公布了“通用多八位编码字符集”的国际标准ISO/IEC 10646,简称UCS(Universal Code Set),它为包括汉字在内的各种正在使用的文字规定了统一的编码方法。该标准使用4个字节来表示一个字符。其中,一个字节用来编码组,因为最高位不用,故总共表示128个组。一个字节编码平面,总共有256个平面,这样,每一组都包含256个平面。在一个平面内,用一个字节来编码行,因而总共有256行。再用一个字节来编码字位,故总共有256个字位。一个字符就被安排在这个编码空间的一个字位上。例如ASCII字符“A

”,它的ASCII为41H,而在UCS中的编码则为00000041H,即位于00组、00面、00行的第41H字位上。又如汉字“大”,它在GB2312中的编码为3473H,而在UCS中的编码则为00005927H,即在00组、00面、59H行的第27H字位上。4个字节的编码足以包容世界上所有的字符,同时也符合现代处理系统的体系结构。

④ 字形码

表示汉字字形的字模数据,因此也称为字模码,是汉字的输出形式。通常用点阵、矢量函数等表示。用点阵表示时,字形码指的就是这个汉字字形点阵的代码。根据输出汉字的要求不同,点阵的多少也不同。简易型汉字为16′16点阵、提高型汉字为24′24点阵、48′48点阵等。现在我们以24′24点阵为例来说明一个汉字字形码所要占用的内存空间。因为每行24个点就是24个二进制位,存储一行代码需要3个字节。那么,24行共占用3′24=72个字节。计算公式:每行点数/8′行数。依此,对于48′48的点阵,一个汉字字形需要占用的存储空间为48/8′48=6′48=288个字节。
(十进制)或80(十六进制)。例如,“中”字的内码以十六进制表示时应为F4E8。这样做的目的是使汉字内码区别于西文的ASCII,因为每个西文字母的ASCII的高位均为0,而汉字内码的每个字节的高位均为1。


ascll
信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。


计算机中汉字的表示也是用二进制编码,同样是人为编码的。根据应用目的的不

同,汉字编码分为外码、交换码、机内码和字形码。

1.外码(输入码)

外码也叫输入码,是用来将汉字输入到计算机中的一组键盘符号。英文字母只有26个,可以把所有的字符都放到键盘上,而使用这种办法把所有的汉字都放到键盘上,是不可能的。所以汉字系统需要有自己的输入码体系,使汉字与键盘能建立对应关系。目前常用的输入码有拼音码、五笔字型码、自然码、表形码、认知码、区位码和电报码等,一种好的编码应有编码规则简单、易学好记、操作方便、重码率低、输入速度快等优点,每个人可根据自己的需要进行选择。在后面的章节中,重点介绍智能全拼输入法和五笔字型输入法。

2.交换码

计算机内部处理的信息,都是用二进制代码表示的,汉字也不例外。而二进制代码使用起来是不方便的,于是需要采

用信息交换码。我国标准总局1981年制定了中华人民共和国国家标准GB2312--80《信息交换用汉字编码字符集--基本集》,即国标码。国标码字符集中收集了常用汉字和图形符号7445个,其中图形符号682个,汉字6763个,按照汉字的使用频度分为两级,第一级为常用汉字3755个,第二级为次常用汉字3008个。为了避开ASCII字符中的不可打印字符0100001--1111110(十六进制为21-7E),国标码表示汉字的范围为2121--7E7E(十六进制)。

区位码是国标码的另一种表现形式,把国标GB2312--80中的汉字、图形符号组成一个94×94的方阵,分为94个“区”,每区包含94个“位”,其中“区”的序号由01至94,“位”的序号也是从01至94。94个区中位置总数=94×94=8836个,其中7445个汉字和图形字符中的每一个占一个位置后,还剩下1391个空位,这1391个位置空下来保留备用。所以给定“区”值和“位”值,用四位数字就可以确定一个汉字或图形符号,其中前两位是“区”号。后两位是“位”号,如“普”字的区位码是“3853”,“通”字的区位码是“4508”。区位码编码的最大优点是没有重码,但由于编码缺少规律,很难记忆。使用区位码的主要目的是为了输入一些中文符号或无法用其它输入法输入的汉字、制表符以及日语字母、俄语字母、希腊字母等。94个区可以分为五组:

01--15区:是各种图形符号、制表符和一些主要国家的语言字母,其中01--09区为标准符号区,共有682个常用符号。

10--15区:为自定义符号区,可留作用户自己定义。

16--55区:是一级汉字区,共有3755个常用汉字,以拼音为序排列。

56--87区:是二级汉字区,共有3008个次常用汉字,以部首为序排列。

88--94区:自定义汉字区,可留作用户自己定义。

3.机内码

根据国标码的规定,每一个汉字都有了确定的二进制代码,但是这个代码在计算机内部处理时会与ASCII码发生冲突,为解决这个问题,把国标码的每一个字节的首位上加1。由于ASCII码只用7位,所以,这个首位上的“1”就可以作为识别汉字代码的标志,计算机在处理到首位是“1”的代码时把它理解为是汉字的信息,在处理到首位是“0”的代码时把它理解为是ASCII码。经过这样处理后的国标码就是机内码。

汉字的机内码、国际码和区位码之间的关系是:

(汉字机内码前两位)16=(国标码前两位)16+80H=(区码)16+A0H

(汉字机内码后两位)16=(国标码后两位)16+80H=(区码)16+A0H

把用十六进制表示的机内码的前两位和机内码的后两位连起来,就得到完整的用十六进制表示的机内码。在微机内部汉字代码都用机内码,在磁盘

上记录汉字代码也使用机内码。

4.汉字的字形码

字形码是汉字的输出码,输出汉字时都采用图形方式,无论汉字的笔画多少,每个汉字都可以写在同样大小的方块中。为了能准确地表达汉字的字形,对于每一个汉字都有相应的字形码,目前大多数汉字系统中都是以点阵的方式来存储和输出汉字的字形。所谓点阵就是将字符(包括汉字图形)看成一个矩形框内一些横竖排列的点的集合,有笔画的位置用黑点表示,没笔画的位置用白点表示。在计算机中用一组二进制数表示点阵,用0表示白点,用1表示黑点。一般的汉字系统中汉字字形点阵有16×16、24×24、48×48几种,点阵越大对每个汉字的修饰作用就越强,打印质量也就越高。通常用16×16点阵来显示汉字,每一行上的16个点需用两个字节表示,一个16×16点阵的汉字字形码需要2×16=32个字节表示,这32个字节中的信息是汉字的数字化信息,即汉字字模。下面以“口”为例看看16×16点阵字形是怎样存放的(如图3--1)。

如果我们把这个“口”字图形的“.”处用“0”代替,就可以很形象地得到“口”的字形码:0000H 0004H 3FFAH 2004H 2004H 2004H 2004H 2004H 2004H 2004H 2004H 2004H 3FFAH 2004H 0000H 0000H。计算机要输出“口”时,先找到显示字库的首址,根据“口”的机内码经过计算,再去找到“口”的字形码,然后根据字形码(要用二进制)通过字符发生器的控制在屏幕上进行依次扫描,其中二进制代码中是“0”的地方空扫,是“1”的地方扫出亮点,于是就可以得到“口”的字符图形。

字模按构成字模的字体和点阵可分为宋体字模、楷体字模等等,这些是基本字模。基本字模经过放大、缩小、反向、旋转等交换可以得到美术字体,如长体、扁体、粗体、细体等等。汉字还可以分为简体和繁体两种,ASCII字符也可分为半角字符和全角字符。汉字字模按国标码的顺序排列,以二进制文件形式存放在存储器中,构成汉字字模字库,亦称为汉字字形库,称汉字库。

相关主题
文本预览
相关文档 最新文档