1.4 数据单位与字符编码
需要处理的信息在计算机中常常被称为数据。在计算机内部,数据均采用二进制的形式进行存储、运算、处理和传输。
1.4.1 数据单位
(1)位(bit)
位是计算机中最小的数据单位,是二进制的一个数位,每个0或1就是一个位。
(2)字节(Byte)
字节是计算机中用来表示存储空间大小的最基本单位,又称为Byte或B。一个字节由8个二进制位组成。例如,计算机内存的存储容量、磁盘的存储容量等均以字节为单位进行表示。
除了用字节为单位表示存储容量外,还可以用千字节(KB)、兆字节(MB)及十亿字节(GB)等表示存储容量。它们之间存在下列换算关系。
● 1B=8bit;
● 1KB=210B=1024B;
● 1MB=210 KB=1024KB;
● 1GB=210 MB=1024MB;
● 1TB=210 GB=1024GB;
(3)字(word)
字和计算机中字长的概念有关。字长是指计算机能一次处理的二进制信息的位数,具有这一长度的二进制数则被称为该计算机中的一个字。字通常取字节的整数倍,是计算机进行数据存储和处理的运算单位。
计算机按照字长进行分类,可分为8位机、16位机、32位机和64位机等。字长越长,那么计算机所表示数的范围就越大,处理能力也越强,运算精度也就越高。在不同字长的计算机中,字的长度也不相同。例如,在8位机中,一个字含有8个二进制位,而在64位机中,一个字则含有64个二进制位。
1.4.2 字符编码
字符编码就是规定用二进制数来表示字母、数字及专用符号。计算机中的信息包括数据信息和控制信息,数据信息又可分为数值和非数值信息。非数值信息和控制信息包括了字母、各类控制符号及图形符号等。它们都以二进制编码的方式存入计算机并得以处理,这种对字母和符号进行编码的二进制代码称为字符编码(Character Code)。
(1)ASCII编码
微机和小型计算机中普遍采用ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码)表示字符数据,该编码被ISO(国际化标准组织)采纳,作为国际上通用的信息交换代码。
ASCII码有两个版本:7位码版本和8位码版本。国际上通用的是7位码版本。7位码版本由7位二进制数表示一个字符,由于27=128,所以能够表示128个字符数据。为了便于处理,在ASCII码的最高位前增加1位0,凑成8位的一个字节,所以,一个字节可存储一个ASCII码,也就是说一个字节可以存储一个字符。ASCII码是使用最广的字符编码。在ASCII码表中,每个数字、字母和控制符号都有一个固定的数值,数字的ASCII值从0~9依次变大,大写字母ASCII值从A~Z依次变大,小写字母ASCII值从a~z依次变大,且数字的ASCII值小于大写字母的ASCII值,大写字母的ASCII值小于小写字母的ASCII值。
(2)汉字编码
在计算机系统中,汉字的编码分为外码、内码、输出码和交换码。
● 外码:外码又称输入码,是汉字的输入代码,一般有数字编码、字形编码和字音编码,对于每一种编码方式,每个汉字都有对应的一个确切的输入码。例如,用字音编码输入汉字“汉”时,它所对应的外码是“han”。
● 内码:内码是汉字的内部编码。计算机为了识别汉字,必须把汉字的外码转换为汉字的内码,以便处理和存储汉字信息。在计算机中,通常使用两个字节来表示一个汉字的内码。
● 输出码:将汉字的字形经过点阵的数字化后产生的一串二进制数称为汉字的输出码,又称字形码。它是供显示器或打印机输出汉字使用的点阵代码。
● 交换码:交换码即国家标准汉字编码(GB2312—80),简称国标码。该编码集的全称是“信息交换用汉字编码字符—基本集”,该编码的主要用途是作为汉字信息交换码使用。
国标码规定:一个汉字用两个字节来表示,每个字节只用前七位,最高位均未作定义。但需要注意,国标码不同于ASCII码,并非汉字在计算机内的真正表示代码,它仅仅是一种编码方案,计算机内部汉字的代码叫作汉字机内码,简称汉字内码。在微机中,汉字内码一般都采用两字节表示,由于机内码的存在,输入汉字时就允许用户根据自己的习惯使用不同的输入码,进入计算机系统后再统一转换成机内码存储。
总之,一个汉字从输入到输出,首先要用汉字外码将汉字输入,再用汉字内码存储并处理汉字,最后用汉字的字形码将汉字输出。