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方法,将其编码成字节串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值