三余无梦

冬者岁之余,夜者日之余,阴雨者时之余也

'Unicode'介绍系列1

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