为了账号安全,请及时绑定邮箱和手机立即绑定

UnicodeDecodeError:“charmap”编解码器不能解码位于Y位置的字节X:

UnicodeDecodeError:“charmap”编解码器不能解码位于Y位置的字节X:

绝地无双 2019-06-24 10:47:07
UnicodeDecodeError:“charmap”编解码器不能解码位于Y位置的字节X:我试图让Python 3程序对一个充满信息的文本文件进行一些操作。但是,当试图读取该文件时,我会得到以下错误:追溯(最近一次调用):文件“脚本位置”,行号,在text = file.read()文件“C:\Python 31\lib\encode\cp1252.py”,第23行,解码return codecs.charmap_decode(input,self.errors,decoding_table)[0]UnicodeDecodeError:“charmap”编解码器无法解码位置2907500的字节0x90:字符映射到<undefined>如果有人能帮我解决这个问题,我将非常感激。
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

所讨论的文件没有使用CP1252编码。它使用了另一种编码。哪一个你得自己弄明白。常见的是Latin-1UTF-8..自0x90实际上并不意味着Latin-1UTF-8(在哪里0x90是一个延续字节)更有可能。

打开文件时指定编码:

file = open(filename, encoding="utf8")


查看完整回答
反对 回复 2019-06-24
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

如果您无法知道是什么编码,那么上面的解决方案就不起作用了(它不起作用)utf8(你发现自己只是猜测在线工具你可以用它来识别编码是什么。它们并不完美,但通常工作得很好。在您计算出编码之后,您应该能够使用上面的解决方案。

编辑:

一个很受欢迎的文本编辑器Sublime Text如果设置了编码,则有一个要显示编码的命令.

  1. View -> Show Console

    (或

    克特+`)


  1. 输入底部的字段

    view.encoding()

    希望是最好的(我没有得到任何东西,除了

    Undefined

    但也许你会有更好的运气.)


查看完整回答
反对 回复 2019-06-24
?
桃花长相依

TA贡献1860条经验 获得超8个赞

只是想加入以防万一file = open(filename, encoding="utf8")不起作用file = open(filename, errors='ignore')


查看完整回答
反对 回复 2019-06-24
  • 3 回答
  • 0 关注
  • 1479 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信