Python EncodeDecode错误:UnicodeDecodeError:'charmap'编解码器无法解码字节

时间:2019-05-11 21:58:04

标签: python image encoding

我正在尝试处理图像,但无法摆脱该错误:

fichier=open("photo.jpg","r")

lignes=fichier.readlines()
Traceback (most recent call last):

  File "<ipython-input-32-87422df77ac2>", line 1, in <module>
    lignes=fichier.readlines()

  File "C:\Winpython\python-3.5.4.amd64\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 207: character maps to <undefined>

我见过一些论坛,人们说要在“ open ...”中添加encoding ='utf-8',但这是行不通的

1 个答案:

答案 0 :(得分:0)

您的问题出在open()命令上。您的jpeg图片是二进制文件,应使用open('photo.jpg', 'rb')

也不要为此文件使用readlines();此功能应用于字符输入。

这是一个例子...

import struct

with open('photo.jpg', 'rb') as fh:
    raw = fh.read()
for ii in range(0, len(raw), 4):
    bytes = struct.unpack('i', raw[ii:ii+4])  
    # do something here with your data