python - 将二进制数据转换为utf-8
_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格式。可能这个二进制数据里有一些额外的字符(或者没有),这就导致转换的时候出现了问题。有没有什么办法可以解决这个问题呢?
5 个回答
3
你想要实现的目标可能可以通过将其进行base64编码来完成。
import base64
encoded = base64.b64encode(image_binary_data)
7
你可以通过使用 latin-1
编码把一个 str
(字符串)转换成 unicode
(统一编码)。一旦你得到了 unicode
,你就可以把它再编码成 utf-8
格式:
data.decode('latin-1').encode("utf-8")
3
文本编码只适用于文本内容。不要试图把它们用在二进制数据上。