一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Python编码问题的工作总结

时间:2016-07-30 编辑:简简单单 来源:一聚教程网

1. 字符串对象有两种格式:str和unicode,其中Unicode是标准,str则是具体的编码实现(utf-8,gbk等)

如:

a="你好"; #str

b=u"你好"; #unicode

 

2. encode是将unicode转换成其他格式编码,decode是将其他格式编码转换为unicode,可将unicode看作是中间格式

str也可做encode,但会默认先做decode,使用默认的编码类型

如:

s.encode("utf-8") 等价于s.decode(defaultencoding).encode("utf-8")

 

3. 文件编码头作用,指定代码中文字编码格式,其中编码头和文件保存格式一致

如脚本头的这一行:

# -*- coding:utf-8 -*-

 

4. cmd乱码问题,cmd编码格式为gbk,所以要先decode为unicode,或encode为gbk

 

5. 读写文件

如果使用open方法打开文件,读取的是str,write时写入str,如果直接传递unicode,则会按照默认编码类型encode为str再写入文件

如果使用codecs的open方法,读取的是unicode,write时如果参数是unicode,则按照open中设定的编码encode,如果是str,则按照默认编码decode再encode

热门栏目