Unicode
系列目前有准备有2篇文章
- 介绍Unicode
- Unicode在python(2.x)中的应用(让人头疼有么有)
好的下面开始
what Unicode
- Unicode 是一种字符集, 规定字符对应的二进制代码
- 平常所说的ASCII码呢,就是英语的128个字符对应的二进制代码
why Unicode
- 如其名,统一编码,所有的字符都有对应的独一无二的二进制代码, 这样就能一统天下
unicode 缺陷
- Unicode 规定了符号的二进制代码, 却没有规定这个二进制代码如何存储
- 如’严’的Unicode为4E25, 至少需要两个字节来表示, 就是说这个字符需要两个字节, 问题就来了,计算机不知道怎么区分2个字节表示一个符号,计算机也可以认为1个字节一个字符, 如果统一都用4字节表示每个字符,那么对于一个字节就可以表示的字符, 就是浪费,这是不能忍的
- 所以需要一种比较号好的实现模式,去解决…
UTF-8
- UFT-8是在互联网上使用的最广的一种Unicode的实现方式。
- 这是一种可变长度的编码方式, 可以使用1~4个字节表示一个符号
- 编码规则:
- 对于单字节的符号, 字节的第一位设为0, 后面7位是个符号的Unicode码, 因此对于英语字母, UTF-8和ASCII码相同
- 对于n字节的符号(n > 1), 第一个字节的前n位都设位1, 第n+1位设为0, 后面字节的前两位一律设为10, 剩下的二进位,全部位这个符号的Unicode
TBC