python "UnicodeEncodeError" 编码错误总结

从外部写入字符串

查看python默认编码

>>>import sys
>>>sys.getdefaultencoding()#'utf-8'

python3 是默认’utf-8’编码的

如果是python2版本,不是’utf-8’编码

可设成’utf-8’编码

>>>import sys
>>>from imp import reload
>>>reload(sys)
>>>sys.setdefaultencoding('utf-8')#python3无法运行,只能在python2上运行

将字节串写入文件

从外部导入字符串时, 需要将其转换成python易处理的’utf-8’格式
例如:

>>>string.decode('ascii')

当想将’utf-8’字节串写入外部, 并以’utf-8’编码, 而不是windows默认的’gbk’
可直接将’utf-8’的字节串以字节形式写入文本

>>>string = '<span class="title">\xe7\xbe\x8e\xe4\xb8\xbd\xe4\xba\xba\xe7 class="title">&nbsp;/&nbsp;La vita \xc3\xa8</span'
>>>newString = string.encode("utf-8")#将string转换成“utf-8”的编码,以字节展示

>>>file = open("test.txt", "wb")#以字节形式写入文件
>>>file.write(newString)
>>>file.close()
#文档变成“utf-8”编码的形式
  • 从外部读取文本时, 应视为字节串, 对应的是decode方法,将其解码成文本

  • 将文本导出时, 对应的是encode方法,将其编码成字节串

    原文作者:Boyden
    原文地址: https://segmentfault.com/a/1190000009404441
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞