字符编码的发展历程

阶段1:

计算机只认识数字,我们在计算机里一切数据都是以数字来表示,因为英文符号有限

所以在规定使用的字节的最高位是0,每一个字节都是以0~127之间的数字来表示,比如A对应65,a对应97。

这就是美国标准信息交换码-ASCLL。

阶段2:

随着计算机在全球的普及,很多国家和地区都把自己的字符引入了计算机,比如汉字。

此时发现一个字节能表示数字范围太小,不能包含所有的中文汉字,那么就规定使用两个字节来表示一个汉字。

规定:原有的ASCLL字符的编码保持不变仍然使用一个字节表示,为了区别一个中文字符与两个ASCLL码字符相区别。

中文字符的每个字节最高规定为1,这个规范就是GB2312编码,

后来在GB2312的基础上增加了更多的中文字符,比如汉字,也就出现了GBK。

 

新的问题,在中国是认识汉字的,但是如果把汉字传递给其他国家,该国家的码表中没有收录汉字,其实就显示了另一个符号或者乱码。

 

为了解决各个国家因为本地化字符编码带来的影响,咱们就把全世界所有的符号统一进行编码-Unicode编码。

此时某一个字符在全世界任何地方都是固定的,比如哥,在任务地方都是以十六进制的54E5来表示。

Unicode的编码字符都占有2个字节大小。

-----------------------------------------------------------------------------------------------------------------------------------

常见的字符集:

ASCLL:占一个字节,只能包含128个符号,不能表示汉字

ISO-8859-1:(latin-1):占一个字节,收录西欧语言,不能表示汉字,

ANSI:占两个字节,在简体中文的操作系统中ANSI就指的是GB2312。

GB2312/GBK/GB18030:占两个字节,支持中文。

UTF-8:UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。   UTF-8用1到6个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

 

 

 

 

 

 

 

 

 

 

posted @ 2017-09-14 19:14  卖萌的苏木  阅读(1903)  评论(0编辑  收藏  举报