Python:file.read()函数错误-UnicodeDecodeErrors?
由于file.read()函数以UnicodeDecodeErrors结尾,如何从python中的原始bin文件中读取字节 具体地说,我正在读取一个.bin文件,并且遇到了这个错误Python:file.read()函数错误-UnicodeDecodeErrors?,python,runtime-error,codec,Python,Runtime Error,Codec,由于file.read()函数以UnicodeDecodeErrors结尾,如何从python中的原始bin文件中读取字节 具体地说,我正在读取一个.bin文件,并且遇到了这个错误 File "F:\Codes\Python\ML\Pybrain_test.py", line 27, in <module> string = img_set.read(784) File "F:\Programs\Python\lib\encodings\cp1252.py", line 23,
File "F:\Codes\Python\ML\Pybrain_test.py", line 27, in <module>
string = img_set.read(784)
File "F:\Programs\Python\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 0x8d in position 1440: character maps to <undefined>
文件“F:\Codes\Python\ML\Pybrain\u test.py”,第27行,在
string=img_set.read(784)
文件“F:\Programs\Python\lib\encodings\cp1252.py”,第23行,解码
返回编解码器.charmap\u解码(输入、自身错误、解码表)[0]
UnicodeDecodeError:“charmap”编解码器无法对1440位置的字节0x8d进行解码:字符映射到
如果仅使用打开(文件名)
打开文件,则会将其解释为文本,而不是字节。您应该以字节文件的形式打开该文件,如下所示:
f = open(filename, 'b')
然后,
f.read()
将不会给出该错误如果您仅使用open(filename)
打开文件,它将被解释为文本,而不是字节。您应该以字节文件的形式打开该文件,如下所示:
f = open(filename, 'b')
然后
f.read()
将不会给出该错误您必须以二进制模式打开文件,否则默认文本模式将尝试在Python 3中解码文件字节。您必须以二进制模式打开文件,否则默认文本模式将尝试在Python 3中解码文件字节。