_f = open("c:/go-next.png", "rb")
data = _f.read()
_f.close()
data.encode("utf-8")
# Error: UnicodeDecodeError: file <maya console> line 1: ascii #
如您所见,我打开图像文件,数据是类型。但我必须将其转换为utf-8。 也许二进制数据有一些额外的char(或没有),它与转换冲突。有什么办法可以解决吗?
答案 0 :(得分:5)
您始终可以使用str
编解码器将unicode
映射到latin-1
。获得unicode
后,您始终可以在utf-8
中对其进行编码:
data.decode('latin-1').encode("utf-8")
答案 1 :(得分:3)
文字编码仅适用于文字。不要试图在二进制数据上使用它们。
答案 2 :(得分:1)
你想要实现的目标可能是通过base64编码实现的。
import base64
encoded = base64.b64encode(image_binary_data)
答案 3 :(得分:0)
编码意味着将字符串转换为可存储的字节 而解码意味着将字节转换为可读字符串。
代码中的data
已经过编码。
答案 4 :(得分:0)
图片无法转换为utf8中的章程。