编码
ASCII
只使用了7 位(128 种取值):26 个大写字母、26 个小写字母、10 个阿拉伯数字、一些标点符号、空白符以及一些不可打印的控制符。
Unicode
编码是一种正在发展中的国际化规范,它可以包含世界上所有语言以及来自数学领域和其他领域的各种符号
Python 3 中的字符串是Unicode 字符串而不是字节数组。这是与Python 2 相比最大的差别。在Python 2 中,我们需要区分普通的以字节为单位的字符串以及Unicode 字符串。
UTF-8
UTF-8 是Python、Linux 以及HTML 的标准文本编码格式。这种编码方式简单快速、字符覆盖面广、出错率低。在代码中全都使用UTF-8 编码会是一种非常棒的体验,你再也不需要不停地转化各种编码格式
字符串函数len 可以计算字符串中Unicode 字符的个数,而不是字节数
编码
是将字符串转化为一系列字节的过程
解码
是将字节序列转化为Unicode 字符串的过程
我们从外界文本源(文件、数据库、网站、网络API 等)获得的所有文本都是经过编码的字节串。重要的是需要知道它是以何种方式编码的,这样才能逆转编码过程以获得Unicode 字符串。