Python无法解码字符集

时间:2017-10-19 14:19:10

标签: python character-encoding

我一直在使用程序来处理刻度数据。最近它一旦开始处理文件就停止工作并崩溃。似乎供应商如何呈现数据已经发生了变化。

所以让我说我只是跑:

with open("N:\\2017\\2017-09-28 Daily.CAP") as f:
    i = 0
    while True:
        c = f.read(1)

我收到此错误:

Traceback (most recent call last):
  File "C:/Users/b.karjoo/Documents/PycharmProjects/untitled1/test.py", line 4, in <module>
    c = f.read(1)
  File "C:\Users\b.karjoo\py3_virt_env\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 1799: character maps to <undefined>

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我希望这能解决问题

  with open(filename, encoding="cp437") as file:

但是,如果您的文件的编码类型不是cp437以及除此之外的其他内容,并且如果您使用notepad ++查看文件,则可以通过单击

  

编码,它将显示编码类型。

如果您使用的sublime文字转到

  

查看 - &gt;显示控制台

     

在底部view.encoding()键入字段,它将为您提供编码类型。