最近,在与伙伴没交流时候,又再次被py2的编码问题,被问得相当头痛,但是一切一切之前,我们首说说这两个东西是什么.

这里有一篇非常简单易懂的文章:
The difference between UTF-8 and Unicode?

文中说道

Actually, comparing UTF-8 and Unicode is like comparing apples and oranges

是的,请先记住一点,unicode是字符集(唯一code points), utf-8是编码算法.

UTF-8 is an encoding - Unicode is a character set

举个例子

Hello

是字符集,包含

H, e, l, l, o

5个字符

使用unicode代表他们就是

104 101 108 108 111

再使用utf-8编码算法转换成二进制

1101000 1100101 1101100 1101100 1101111

最后二进制的数据就可以写入磁盘了.

Hope You Enjoy.