Unicode
说到Unicode的起源就要先谈起ASCII。
ASCII使用一个字节(8位)进行存储,8位一共可以表示256个字符,而ASCII只使用了其中的128位,即0~127位,这128位里面包括了常用的英文字符以及标点符号。
现在虽然解决了英语的表示问题,但还有一些语言不使用英语的字符表示,因此它们使用剩下的128位进行表示,即128~256位,后面的128位也被称为扩展字符集。
对于亚洲的一些国家,如中国的汉字用256位也无法表示完整,因此会采用两个字节进行存储表示,一开始的时候要求两个字节都需要大于127来表示一个汉字,这时的汉字编码方案被称为GB2312。然而很快用两个字节也不够存储汉字,因此允许只需要第一个字节大于127即可表示一个汉字,扩展后的这种汉字方案就是GBK标准。
OK,不同语言的编码方案似乎已经确定下来了,但还有一个问题:
不同语言的编码方案不一样,那不同国家之间如何通过ASCII进行交流?
因此,人们希望通过unicode实现所有文字的统一编码,每一个文字都有独一无二的unicode码。
unicode使用四个字节(两个十六进制表示一个字节)来存储文字的。
比如常见的U+表示法:
'U+00000024' -> 'U