字符编码

字符编码
计算机里只有数字,在计算机软件里的一切都是用数字来表示,屏幕上显示的一个个字符也不例外。最初的计算机的使用是在美国,当时所用到的字符也就是现在键盘上的一些符号和少数几个特殊的符号,每一个字符都用一个数字来表示,一个字节所能表示的数字范围内足以容纳所有的这些字符,实际上表示这些字符的数字的字节最高位(bit)都为0,也就是说这些数字都在0到127之间,如字符a对应数字97,字符b对应数字98等,这种字符与数字对应的编码固定下来后,这套编码规则被称为ASCII码(美国标准信息交换码)。
随着计算机在其它国家的逐渐应用和普及,许多国家都把本地的字符集引入了计算机,大大扩展了计算机中字符的范围。一个字节所能表示的数字范围是不能容纳所
第 387 页
有的中文汉字的。中国大陆将每一个中文字符都用两个字节的数字来表示,原有的ASCII码字符的编码保持不变,仍用一个字节表示,为了将一个中文字符与两个ASCII码字符相区别,中文字符的每个字节的最高位(bit)都为1,中国大陆为每一个中文字符都指定了一个对应的数字,并作为标准的编码固定了下来,这套编码规则称为GBK(国标码),后来又在GBK的基础上对更多的中文字符(包括繁体)进行了编码,新的编码系统就是GB2312,而GBK则是GB2312的子集。使用中文的国家和地区很多,同样的一个字符,如“中国”的“中”字,在中国大陆的编码是十六进制的D6D0,而在中国台湾的编码是十六进制的A4A4,台湾地区对中文字符集的编码规则称为BIG5(大五码)。
在一个国家的本地化系统中出现的一个字符,通过电子邮件传送到另外一个国家的本地化系统中,看到的就不是那个原始字符了,而是另外那个国家的一个字符或乱码,因为计算机里面并没有真正的字符,字符都是以数字的形式存在的,通过邮件传送一个字符,实际上传送的是这个字符对应的编码数字,同一个数字在不同的国家和地区代表的很可能是不同的符号,如十六进制的D6D0在中国大陆的本地化系统中显示为“中”这个符号,但在伊拉克的本地化系统就不知对应的是一个什么样的伊拉克字符了,反正人们看到的不是“中”这个符号。随着世界各国的交往越来越密切,全球一体化的趋势越来越明显,人们不可能完全忘记母语,都去使用英文在不同的国家和地区间交换越来越多的电子文档,特别是人们开发的应用软件都希望能走出国门、走向世界,可见,各个国家和地区都使用各自不同的本地化字符编码,已经给生活和工作带来了很多的不方便,严重制约了国家和地区间在计算机使用和技术方面的交流。
为了解决各个国家和地区使用自不同的本地化字符编码带来的不便,人们将全世界所有的符号进行了统一编码,称之为Unicode编码。所有字符不再区分国家和地区,都是人类共有的符号,如“中国”的“中”这个符号,在全世界的任何角落始终对应的都是一个十六进制的数字4e2d,如果所有的计算机系统都使用这种编码方式,在中国大陆的本地化系统中显示的“中”这个符号,发送到伊拉克的本地化系统中,显示的仍然是“中”这个符号,至于那个伊拉克人能不能认识这个符号,就不是计算机所要解决的问题了。Unicode编码的字符都占用两个字节的大小,也就是说全世界所有的字符个数不会超过2的16次方(65536),据推测一定是Unicode编码中没有包
第 388 页
诸如中国的藏文和满文这些少数民族的文字。

posted @ 2013-09-26 10:05  94cool  阅读(260)  评论(0编辑  收藏  举报