全国计算机应用基础知识:汉字、字符编码
(1)计算机中的信息单位
计算机中对信息表示的单位有位、字、字长及字节等,它们是用来表示信息量的大小的基本概念。
① 位:计算机中数据存储的最小单位是一个二进制位,简称位,英文为bit,音译为比特,可用小写字母b表示。
② 字节:八位二进制位称为一个字节,英文为Byte,可用大写字母B表示,是计算机存储的基本单位。一个字节的八位二进制数,其位编号自左至右为b7、b6、b5、b4、b3、b2、b1、b0。在计算机中,往往用字节数来表示存储容量,容量可以以KB、MB、GB、TB为单位,它们相互之间的转换关系如下:
1KB=210B=1024B
1MB=210KB=1024KB
1GB=210MB=1024MB
1TB=210GB=1024GB
③ 字:计算机在存储、传送或操作时,作为一个整体单位进行操作的一组二进制,称为一个计算机字,简称字。
④ 字长:每个字所包含的位数称为字长。由于字长是计算机一次可处理的二进制数的位数,因此它与计算机处理数据的速率有关,是衡量计算机性能的一个重要因素。
(2)字符的编码。
① ASCII码。
计算机只能识别二进制数,因此计算机中的数字、字母、符号也必须用二进制进行编码。编码方法有多种,微型机中普遍采用的是ASCII码(美国标准信息交换码),ASCII码现已被国际标准化组织(ISO)接收为国际标准,称为ISO-646。ASCII码有7位版本和8位版本两种,国际上通用的ASCII码是7位版本。7位版本的ASCII码包含10个阿拉伯数字、52个英文大小写字母、32个标点符号和运算符及34个控制码,共128个字符,所以可用7位二进制数表示。7位ASCII码字符如下图所示:
要确定一个数字、字母、符号或控制字符的ASCII码,可在表中先找出它的位置,然后确定它所对应的十进制值或二进制值。例如小写字母“a”的ASCII码其十进制值是97,二进制值是1100001B(B表示二进制数),若转换成十六进制,其值是61H(H表示十六进制数)。从表中可以看出,数字0~9的ASCII码是30H~39H(后缀H表示是十六进制数),大写字母A~Z的ASCII码是41H~5AH,小写字母a~z的ASCII码是61H~7AH。字符大小的比较就是看它的ASCII码值的大小。
表中,NUL、BEL、LF、FF、CR、DEL等是控制字符,NUL表示空,BEL是告警符,BS是退格符,LF是换行符,FF是换页符,CR是回车符,SP是空格符,DEL是删除符。
② BCD码。
用计算机处理数字时,要进行二进制与十进制的相互转换,这就要用二进制对十进制数进行编码,BCD(Binary Coded Decimal)码是二进制编码的十进制数。最常用的BCD码就是8421BCD码,
它是用4位二进制数为一组表示一个十进制数字,4位二进制数从左到右其位权依次为8、4、2、1,它可以组合成16种状态,对0~9这10个数字的编码只取0000~1001这前10种状态,其余6种状态不用。为了能对一个多位十进制数进行编码,需要有和十进制数的位数一样多的4位二进制组,按顺序分别进行编码。表1-4表示8421BCD码与十进制数的对应关系。
表1-4 BCD码与十进制数的对应关系
③ Unicode编码
ASCII码提供了128个字符,扩展的ASC码提供了256个字符,但用来表示世界各国的文字编码还显得不够,还需要表示更多的字符和意义,因此又出现了Unicode编码。
Unicode是一种16位的编码,能够表示65000多个字符或符号。目前世界上的各种语言一般所使用的字母或符号在34000个左右,所以Unicode编码可以用于任何一种语言。Unicode编码与现在流行的ASCII码完全兼容,二者的前256个符号是一样的。
(3)汉字的编码
汉字是一种象形文字,字数极多(现代汉字中仅常用字就有六七千个,总字数高达5万个以上),且字形复杂,每一个汉字都有“音、形、义”三要素,同音字、异体字也很多,这些都给汉字的计算机处理带来了很大的困难。要在计算机中处理汉字,必须解决以下几个问题:首先,是汉字的输入,即如何把结构复杂的.方块汉字输入到计算机中去,这是汉字处理的关键;其次,汉字在计算机内如何表示和存储,如何与西文兼容;最后,如何将汉字的处理结果从计算机内输出。为此,必须将汉字代码化,
即对汉字进行编码。对应于上述汉字处理过程中的输入、内部处理及输出这3个主要环节,每一个汉字的编码都包括输入码、交换码、内部码和字形码。在计算机的汉字信息处理系统中,处理汉字时要进行如下的代码转换:输入码→交换码→内部码→字形码。以上简述了对汉字进行计算机处理的基本思想和过程,下面具体介绍汉字的4种编码。
① 输入码。
为了利用计算机上现有的标准西文键盘来输入汉字,必须为汉字设计输入编码。输入码也称为外码。目前,已申请专利的汉字输入编码方案有六七百种之多,而且还不断有新的输入方法问世,以至于有“万码奔腾”之喻。按照不同的设计思想,可把这些数量众多的输入码归纳为四大类:数字编码、拼音码、字形码和音形码。其中,目前应用最广泛的是拼音码和字形码。
a. 数字编码:数字编码是用等长的
数字串为汉字逐一编号,以这个编号作为汉字的输入码,如区位码、电XX等都属于数字编码。此种编码的编码规则简单,易于与汉字的内部码转换,但难于记忆,仅适用于某些特定部门。
b. 拼音码:拼音码是以汉字的读音为基础的输入码。拼音码使用方法简单,一学就会,易于推广,缺点是重码率较高(因汉字同音字多),在输入时常要进行屏幕选字,对输入速度有影响。拼音码是按照汉语拼音编码输入,因此在输入汉字时,要求读音标准,不能使用方言。拼音码特别适合于对输入速度要求不是太高的非专业录入人员。
c. 字形码:字形码是以汉字的字形结构为基础的输入编码。在微型计算机上广为使用的五笔字型码(王码)是字形码的典型代表。五笔字型码的主要特点为输入速度快,目前最高纪录为每分钟输入293个汉字(该记录为XXXX一女兵所保持),如此高的输入速度已达
到人眼扫描的极限。但这种输入方法因要记忆字根、练习拆字,前期学习花费的时间较多。此外,有极少数的汉字拆分困难,给出的编码与汉字的书写习惯不一致。
d. 音形码:音形码是兼顾汉字的读音和字形的输入编码。目前使用较多的音形码是自然码。
② 交换码。
交换码用于汉字外码和内部码的交换。我国于1981年颁布的《信息交换用汉字编码字符集·基本集》(代号为GB2312—1980)是交换码的国家标准,所以交换码也称为国标码。国标码是双字节代码,即有两个字节为一个汉字编码,每个字节的最高位为“1”。国标GB2312—1980收入常用汉字6763个(其中一级汉字3755个,按拼音顺序排列;二级汉字3008个,按部首顺序),其他字母及图形符号(如序号、数字、罗马数字、英文字母、日文假名、俄文字母
和汉语注音等)682个,总计7445个字符。将这7445个字符按94行×94列排列在一起,组成GB2312—1980字符集编码表,表中的每一个汉字都对应于唯一的行号(称为区号)和列号(称为位号),根据区位号确定汉字的国标码值,分别用两个字节存放。由于篇幅所限,本书未列出GB2312—1980字符编码表,读者可参看有关书籍。
③ 内部码。
内部码是汉字在计算机内的基本表示形式,是计算机对汉字进行识别、存储、处理和传输所用的编码。内部码也是双字节编码,将国标码两个字节的最高位都置为“1”,即转换成汉字的内部码。计算机信息处理系统就是根据字符编码的最高位是“1”还是“0”来区分汉字字符和ASCII码字符的。
④ 字形码。
字形码是表示汉字字形信息(汉字的结构、形状、笔画等)的编码,用来
实现计算机对汉字的输出(显示、打印)。由于汉字是方块字,因此字形码最常用的表示方式是点阵形式,有16×16点阵、24×24点阵和48×48点阵等。例如,16×16点阵的含义为:有256个点(16× 16=256)来表示一个汉字的字形信息,每个点有“亮”或“灭”两种状态,用一个二进制数的“1”或“0”来对应表示。因此,存储一个16×16点阵的汉字需要256个二进制位,共32个字节(256位/8位)。以上的点阵可根据汉字输出的不同需要进行选择,点阵的点数越多,输出的汉字就越精确、美观。汉字的字形点阵要占用大量的存储空间,通常将其以字库的形式存放在机器的外存中,需要时才检索字库,输出相应汉字的字形。
【全国计算机应用基础知识:汉字、字符编码】相关文章: