Unicode与UTF-8
- Unicode 是「字符集」
- UTF-8 是「编码规则」
- 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code Point)
- 编码规则:将「码位」转换为字节序列的规则(编码/解码 可以理解为 加密/解密 的过程)
decode的作用是将二进制数据解码成unicode编码,如str1.decode('utf-8'),表示将utf-8的编码字符串解码成unicode编码。
encode的作用是将unicode编码的字符串编码成二进制数据,如str2.encode('utf-8'),表示将unicode编码的字符串编码成utf-8
在PYTHON2中,str和unicode是两种类型的对象,即可以使用str1.decode('utf-8')转换为unicode,也可以执行unicode1.encode('utf-8')变为为str类型对象
在PYTHON3中,str格式的定义变更为”Unicode类型的字符串“,也就是说在默认情况下,被引号框起来的字符串,是使用Unicode编码的。也就是说unicode类型在python3中没有了,python3中的str就相当于python2中的unicode。
所以str没有解码方法decode()