1.2.5 常见信息编码
计算机中的数据是用二进制表示的,而人们习惯用十进制数,那么输入/输出时,数据就要进行十进制和二进制之间的转换处理,因此必须采用一种编码的方法,由计算机内部实现这种识别和转换工作。
1.BCD码(二-十进制编码)
BCD(Binary Code Decimal)码是用若干个二进制数表示一个十进制数的编码,BCD码有多种编码方法,常用的有8421码。
8421码是将十进制数码0~9中的每个数分别用4位二进制编码表示,从左至右每一位对应的数是8、4、2、1,这种编码方法比较直观、简要,对于多位数,只需将它的每一位数字按其二进制的对应关系用8421码直接列出即可。例如,十进制数转换成BCD码如下:
(1209.56)10=(0001 0010 0000 1001.0101 0110)BCD
8421码与二进制之间的转换需先将8421码表示的数转换成十进制数,再将十进制数转换成二进制数。例如,(1001 0010 0011.0101)BCD=(923.5)10=(1110011011.1)2。
2.ASCII码
计算机中,对非数值的文字和其他符号进行处理时,要对文字和符号进行数字化处理,即用二进制编码来表示文字和符号。字符编码(Character Code)是用二进制编码来表示字母、数字以及专门符号。
目前,计算机中普遍采用的是ASCII(American Standard Code for Information Interchange)码,即美国信息交换标准代码。ASCII码有7位版本和8位版本两种,国际上通用的是7位版本,7位版本的ASCII码有128个元素,只需用7个二进制位(27=128)表示,其中控制字符34个,阿拉伯数字10个,大小写英文字母52个,各种标点符号和运算符号32个。在计算机中实际用8位表示一个字符,最高位为“0”。
3.汉字编码
汉字也是字符,与西文字符比较,汉字数量大,字形复杂,同音字多,这就给汉字在计算机内部的存储、传输、交换、输入、输出等带来了一系列的问题。为了能直接使用西文标准键盘输入汉字,必须为汉字设计相应的编码,以适应计算机处理汉字的需要。
(1)国标码
国标GB2312—80规定,所有的国标汉字与符号组成一个94×94的矩阵,在此方阵中,每一行称为一个“区”(区号为01~94),每一列称为一个“位”(位号为01~94),该方阵实际组成了一个94个区,每个区内有94个位的汉字字符集,每一个汉字或符号在码表中都有一个唯一的位置编码,叫该字符的区位码。
使用区位码方法输入汉字时,必须先在表中查找汉字并找出对应的代码,才能输入。区位码输入汉字的优点是无重码,而且输入码与内部编码的转换方便。
(2)机内码
汉字的机内码是计算机系统内部对汉字进行存储、处理、传输统一使用的代码,又称为汉字内码。由于汉字数量多,一般用2个字节来存放汉字的内码。在计算机内汉字字符必须与英文字符区别开,以免造成混乱。英文字符的机内码是用1个字节来存放ASCII码,1个ASCII码占1个字节的低7位,最高位为“0”,为了区分,汉字机内码中两个字节的最高位均置“1”。
例如,汉字“中”的国标码为5650H(0101011001010000)2,机内码为D6D0H(1101011011010000)2。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。