1.3 计算机中非数值数据的信息表示
计算机除了能对数值信息进行处理(主要是各种数学运算)之外,对于诸如文字、图形、图像、声音等信息也能进行各种处理,当然它们在计算机内部也必须表示成二进制编码形式,这些统称为非数值数据。
1.3.1 西文信息的表示
西文包括拉丁字母、数字、标点符号及一些特殊符号,它们统称为字符(Character)。
目前国际上使用的字母、数字和符号的信息编码系统种类很多。经常采用的是美国国家信息交换标准代码ASCII(American Standard Code for Information Interchange)。该标准制定于1963年,目前微型计算机的字符编码都采用ASCII码。
ASCII码是一种8位代码,一般最高位可用于奇偶校验,故仅用7位码来代表字符信息,共有128个字符,其中34种起控制作用的称为“功能码”,其余94种符号(10个十进制数码、52个英文大/小写字母和32个专用符号$、+、-、=等)供书写程序和描述命令之用,称为“信息码”,如表1-5所示。
表中第0010~0111的6行中,共有94个可打印(或显示)的字符,又称为图形字符。这些字符有确定的结构形状,可在显示器和打印机等输出设备上输出。它们在计算机键盘上能找到相应的键,按键后就可将对应字符的二进制编码送入计算机内。
另外,表的第0000和第0001行中共有32个字符,又称为控制字符,它们在传输、打印或显示输出时起控制作用。按照它们的功能含义可分成如下5类。
(1)传输控制字符。如SOH(标题开始,01H),STX(正文开始,02H),ETX(正文结束,03H),EOT(传输结束,04H)等。
(2)格式控制字符。如BS(退格,08H),LF(换行,0AH),CR(回车,0DH)等。
(3)设备控制字符。如DC1~DC4(设备控制1~4,11H~14H)。
(4)信息分隔类控制字符。如US(单元分隔,1FH)等。
(5)其他控制字符。如NUL(空白,00H),BEL(告警,07H)等。
表1-5 ASCII码字符表
此外,在图形字符集的首尾还有2个字符也可归入控制字符,它们是:SP(空格字符,20H)和DEL(抹除字符,7FH)。
我国于1980年制定了“信息处理交换器的7位编码字符集”,即国家标准GB1988—80,除用人民币符号¥代替美元符号$外,其余含义都与ASCII码相同。
1.3.2 中文信息的表示
中文的基本组成单位是汉字,它们也属于字符。西文字符集的字符总数不过几百个,使用7位或8位二进制编码就可表示。汉字具有数量大、字形复杂、同音字多等特点,这就给汉字在计算机内部的表示与处理、汉字的传输与交换、汉字的输入/输出等带来了一系列的问题。为此我国于1981年公布了“国家标准信息交换用汉字编码基本字符集(GB2312—80)”。该标准规定,一个汉字用2字节(256×256=65536种状态)编码,同时用每字节的最高位来区分是汉字编码还是ASCII字符编码,这样每字节只用低7位,这就是所谓双7位汉字编码(128×128=16384种状态),称作汉字交换码(又称国标码),其格式如图1-2所示。
图1-2 国标码格式
目前,许多机器为了在内部能区分汉字与ASCII字符,把2字节汉字的国标码的每字节的最高位置1,这样就形成了汉字的另外一种编码,称作汉字机内码(内码)。若已知国标码,则机内码唯一确定。方法是,机内码的每字节为原国标码每字节加80H。机内码用于统一不同系统所使用的不同汉字输入码,各种不同汉字输入码进入系统后,一律转换为机内码,使不同系统内汉字信息可以相互转换。
GB2312—80编码按汉字使用频度把汉字分为高频字(约100个)、常用字(约3000个),次常用字(约4000个),罕见字(约8000个)和死字(约4500个),并将高频字、常用字和次常用字归结为汉字字符集(6763个)。该字符集又分为两级,第一级汉字为3755个,属常用字,按汉语拼音顺序排列;第二级汉字为3008个,属非常用字,按部首排列。
汉字输入方法很多,如区位、拼音、五笔字型等有数百种之多。其中最优者应具有易学习、易记忆、效率高(击键次数少)、重码少和容量大等特点。不同输入法有自己的编码方案,不同输入法所采用的汉字编码统称为输入码。输入码进入机器后,必须转换为机内码。
传统的汉字输出是先用汉字字形码(一种用点阵表示汉字字形的编码)把汉字按字形排列或点阵,常用点阵有16×16、24×24、32×32或更高。一个16×16点阵汉字占用32字节,24×24点阵汉字占用72字节……。由此可见,汉字字形点阵的信息量很大,占用存储空间也非常大。所有的不同字体、字号的汉字字形构成字体,通常都存储在硬盘上,只有当要显示输出时,才去检索得到欲输出的字形。新的输出字形可用矢量法、True Type等。
1.3.3 图、声、像信息的表示
计算机除了能处理汉字、数值、数据之外,还能处理声音、图形和图像等各种信息,这类计算机称为多媒体计算机。
在多媒体计算机中,各种媒体也是采用二进制编码来表示的。首先,把声音、图像等各种模拟信息(如声音波形、图像的颜色等)经过采样、量化和编码,转换成数字信息,这一过程称为模数转换;由于数字化信息量非常大,为了节省存储空间、提高处理速度,往往要经过压缩后再存储到计算机中。经过计算机处理过的数字化信息,还需经过还原(解压缩)、数模转换(把数字化信息转换为声音、图像等模拟信息)后再现原来的信息。例如,通过扬声器播放声音,通过显示器显示画面。