将 Python 字节转换为字符串而不进行编码

sla*_*law 6 python python-3.x

我正在使用 Python 3.6 并且我有一个字节图像:

img = b'\xff\xd8\xff\xe0\x00\x10JFIF\x00'
Run Code Online (Sandbox Code Playgroud)

我需要将字节转换为字符串而不进行编码,因此它看起来像:

raw_img = '\xff\xd8\xff\xe0\x00\x10JFIF\x00'
Run Code Online (Sandbox Code Playgroud)

目标是将其合并到 html 图像标签中:

<img src="'data:image/png;base64," + base64.b64encode(raw_img) + "' />"
Run Code Online (Sandbox Code Playgroud)

eat*_*ish 2

img.decode("utf-8")
Run Code Online (Sandbox Code Playgroud)

您可以使用上面的代码来解码变量。然后将其转换为base64。

"<img src='data:image/png;base64,{}'/>".format( base64.b64encode(img.decode("utf-8")) )
Run Code Online (Sandbox Code Playgroud)

更新:

你真正想要的是这样的:

raw_img = repr(img)
"<img src='data:image/png;base64,{}'/>".format( base64.b64encode(raw_img) )
Run Code Online (Sandbox Code Playgroud)

  • `UnicodeDecodeError:'utf-8' 编解码器无法解码位置 0 中的字节 0xff:无效的起始字节` (2认同)