UnicodeDecodeError:'charmap'编解码器无法解码位置1010494中的字节0x9d:字符映射到<undefined>

时间:2017-05-30 00:33:02

标签: python unicode text-files decode readfile

请为此我需要帮助:

url ='https://www.sec.gov/Archives/edgar/data/1437750/0001477932-13-004416.txt'
with open('file', 'wb') as f:
    f.write(requests.get('%s' % url).content)
with open('file',  'r') as t:
            words=  t.read()

上面给出了以下错误:

return codecs.charmap_decode(input,self.errors,decoding_table)[0]  
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 1010494: character maps to < undefined>

谢谢!

2 个答案:

答案 0 :(得分:1)

我刚刚遇到了同样的问题。当我尝试读取文件时,我的一个字符串有一个双倍空格:“”。删除该双精度空格可解决0x9d问题。

答案 1 :(得分:0)

为什么要将文件编写为二进制文件,然后将其作为unicode字符串读取? Python不知道如何解码原始流中的某些字节,直到你告诉它使用什么编解码器。由于您在第一个命令中流式传输的文件未经过utf-8编码,因此请在阅读时将文件解码为latin-1

with open('file',  'r', encoding='latin-1') as t:
    words =  t.read()