python2编码的问题
1,python2的默认编码是ascii码。 2,python2中有2中数据模型来支持字符串这种数据类型,分别为str和unicode。 3,uncode转换为其他编码是encode,其他编码转换成unicode是decode(解码)。所以unicode是核心,比如你现在有个gbk的字符串,如果想要变成utf-8,那你需要先decode然后在encode才行。 4,文件开头声明的编码与定义str是有关系的。str有utf-8 gbk gb2312 ascaii等。 比如: #!/usr/bin/env python # *-*coding:utf-8 *-* s = '中国' print(type(s)) 结果:<type 'str'> 可以发现s是一个字符串,但其实它的编码也是utf-8,因为开头的声明变量就是utf-8。 #!/usr/bin/env python # *-*coding:utf-8 *-* s = '中国' print(type(s)) data = s.decode('utf-8') print(data) print(type(data)) 结果: <type 'str'> 中国 <type 'unicode'> 可以发现s.decode(‘utf-8’)就将s解码为unicode,这个时候data就可以编码为其他的格式了。 比如: #!/usr