乱码问题解决方法就是一句话:借助中间万能编码unicode进行编码之间的转换操作。
为什么这么说?
因为unicode与万国的编码都一种映射关系
gbk为了完美兼容ASCII码,在万国码映射表中提出了高字节的概念
就是在映射中凡是超过127的字符都认为是中文
eg:
8 4 2 1 8 4 2 1
1 1 1 0 1 0 0 1 0xe9(gbk)
0 1 1 0 1 0 0 1 0x69(unicode与gbk的映射表)
python3默认编码是utf-8
python3中字符串类型(str)一律是unicode编码,其他的一律是bytes编码
python2默认编码是ASCII码编码 并且str == bytes 无任何区别