Unicode 和 UTF-8

  序言:8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物,他们把这称为”字节“.他们又做了一些可以处理这些字节的机器,可以用字节来组合出很多状态。于是它们就这机器称为”计算机“。

  美国:计算机语言 ANSI(American Standard Code for Information Interchange美国信息互换标准代码):

    其中的编号从0开始的32种状态分别规定了特殊的用途,就把这些0×20以下的字节状态称为”控制码”.

    他们又把所有的空格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号.

    很多国家用的不是英文,他们决定采用127号之后的空位来表示他们自己国家的计算机语言,从128 到255这一页的字符集被称”扩展字符集“.

  中国:双字节计算机语言,中国人们得到计算机时,计算机语言汉字方案叫做 “GB2312“;中国计算机语言统一标准为,于是通称他们叫做 “DBCS“(Double Byte Charecter Set 双字节字符集)。

    一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字;

    前面的一个字节(他称之为高字节)从0xA1用到0xF7,后面一个字节(低字节)从0xA1到0xFE;

    数学符号、罗马希腊的字母、日文的假名们都编进去了.

    在 ASCII 里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的”全角”字符.

    原来在127号以下的那些就叫”半角”字符了。

    中国的汉字太多了,不够用,发明了GBK 标准

    少数民族计算机语言加入,于是我们再扩展,又加了几千个新的少数民族的字,GBK扩成了 GB18030

  ISO(国际标谁化组织):国际组织决定着手解决各个国家之间的计算机语言不通问题,重新搞一个包括了地球上所有文化、所有字母和符号 的编码!俗称 “unicode“。Unicode只是一个用来映射字符和数字的标准。它对支持字符的数量没有限制,也不要求字符必须占两个、三个或者其它任意数量的字节,例如希伯来文中的第一个字母א,是U+2135,字母A是U+0061。

    UTF-8:0-127号的字符用1个字节来表示,使用和US-ASCII相同的编码,只有128号及以上的字符才用2个,3个或者4个字节来表示。因此,UTF-8被称作可变长度编码。

    UTF-16:另一个流行的可变长度编码方案是UTF-16,它使用2个或者4个字节来存储字符。低字节序(Little Endian)和高字节序(Big Endian)。字节顺序标记(BOM)它是通过在第一个字节放置FE FF来实现的。

    

    

    

  

 

上一篇:Python 2和Python 3的差别详解


下一篇:Go语言核心36讲(Go语言实战与应用十四)--学习笔记