首页 理论教育字符编码的表示形式及存储方式

字符编码的表示形式及存储方式

【摘要】:表2-4给出了ASCII码128个字符的编码。因此,ASCⅡ码表示的128个字符编码的最高位为0。我们把一位0、1符号称作一个二进制码,则字符的十六进制编码是把4位二进制码用一个符号表示。要说明的是,字符编码的十六进制形式只是字符编码二进制形式的另外一种表示方式,它是表示形式上的一种转换,字符在计算机内只能以二进制码形式存储和传送。

1.字符的0、1编码

大小写字母、数值符号、标点符号和一些控制符号等称作字符。计算机内部表示字符的原理和人们用26个英语字符表示英语的方法类同。人们可以用26个英语字符表示出有数万个单词的英语,同样,也可以用符号“0”和符号“1”表示出字符。我们把用若干位0、1符号表示字符的方法称作字符编码。因为0、1符号表示的字符是字符的一种代替编码,所以也把字符的编码称作字符的代码。

人们可以构造出很多种字符编码,但要实现不同计算机之间的数据交换,必须规定字符编码标准。计算机中最常使用的字符编码标准是ASCII码(美国标准信息交换代码)。ASCII码是一种用7位0、1符号表示字符的编码方案。由于ASCII码已形成事实上的标准, ISO(国际标准化组织)制定的ISO646码,即信息处理交换用的七位编码字符集,将其定为国际标准。表2-4给出了ASCII码128个字符的编码。

表2-4 ASCⅡ码

ASCⅡ码只有128个符号,随着计算机的发展,需要编码的字符增多。扩展ASCⅡ码是在ASCⅡ码基础上制定的共有256个符号的编码。扩展ASCⅡ码为8位,第8位为0时,表示的128个符号和原先的相同,第8位为1时,表示的128个符号主要用作控制或通讯。

任何字符在计算机中存储和传送时都表示成0、1的编码形式。计算机中数据的基本单位是字节。一个字节是8位二进制位。因此,ASCⅡ码表示的128个字符编码的最高位为0。例如,字符hello在计算机中的表示形式如图2-5所示。

图2-5 字符hello的计算机内编码

数字0~9作为字符也有相应的编码。这样,数值0.6875就有两种表示格式。一种是2.2节中讨论的数字表示方法,即把十进制数值0.6875表示为二进制数值0.1011;另一种是把十进制数值0.6875表示为如下的字符的ASCⅡ码

0 . 6 8 7 5(www.chuimin.cn)

00110000 00101110 00110110 00111000 00110111 00110101

前一种格式的文件称为二进制文件,后一种格式的文件称为ASCⅡ码文件或文本文件。显然,数值的ASCⅡ码文件要比相应的二进制文件大很多。

2.字符的十六进制形式

从图2-5可见,字符在计算机内的表示格式比较长。这在计算机内存储数据和传送数据时没有任何问题,但有时当程序出现问题或其他一些情况,需要把计算机内存储或传送的数据显示在屏幕上或打印在纸上给人看时,这样的表示格式就很不方便。这时就可以把字符的计算机内编码显示成十六进制编码形式。

我们把一位0、1符号称作一个二进制码,则字符的十六进制编码是把4位二进制码用一个符号表示。因4位二进制码共有16种不同状态,故这种编码称为十六进制编码。十六进制编码表如表2-5所示。

表2-5 十六进制编码表

显然,字符编码的二进制码形式可以用字符编码的十六进制码形式替代。字符hello的十六进制码形式如图2-6所示。要说明的是,字符编码的十六进制形式只是字符编码二进制形式的另外一种表示方式,它是表示形式上的一种转换,字符在计算机内只能以二进制码形式存储和传送。

图2-6 字符hello的十六进制码