一、py2编码
unicode是一个字符串,str是unicode这个字符串经过编码(utf8,gbk等)后的字节组成的序列。
数据类型 | 存储类型 |
str | bytes |
unicode | unicode |
py2编码的最大特点是Python 2 将会自动的将bytes数据解码成 unicode 字符串
二、py3编码
Python 3 也有两种类型,一个是 Unicode,一个是 byte 码。但是他们有不同的命名。
现在你从普通文本转换成 “str” 类型后存储的是一个 unicode, “bytes” 类型存储的是 byte 串。你也可以通过一个 b 前缀来制造 byte 串。
Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别清晰。你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然)。这是件好事。
三、编码相关知识
文件的存储编码方式(解释器编码方式)要与文件编码方式一致,才能运行该文件。
学习链接:https://www.cnblogs.com/yuanchenqi/articles/5938733.html