Python2
Python3中的str对象在Python2中叫做Unicode.
而bytes对象在 Python2中叫做str
即:我们通常理解中的str在Python2中使Unicode
而字节型数据在Python2中被定义成了str
Python2中的Unicode对象中的decode方法不能使用
Python2中的str对象中的encode方法不能使用.
Python2中大量模块的编码方式都是ASCII,因此会存在一些编码解码的问题.
Python2编码解码的问题—字符串
- 核心:字节和字符之间的转换
- 字节:专门给程序使用[在Python2中是内建的模块,并不支持中文.]
- 字符:给用户看
- Python2内置字符串[basestring<—|str|Unicode]
- python2默认创建的字符串str类型是我们通常认为的bytes字节类型
因此Python2中str—>unicode s.decode(“utf-8”)
unicode—>str s.encode(“utf-8”) # 默认encode(“ASCII”)
参考文献:https://www.jianshu.com/p/19c74e76ee0a
一般在Python2的模块开始声明coding=utf-8也能避免一些问题
还有在Python2中字符串的输入要使用raw_input()否则就会报错