2

我正在尝试获取 BytesIO 或 StringIO 对象的内容并使用 base64.standard_b64encode() 对其进行编码。我都试过了。这在 python 2.7 中工作正常,但是在 python 3.5 中我收到以下错误。

TypeError:无法将“字节”对象隐式转换为 str

这是有问题的代码部分。

output = BytesIO()
img.save(output,  format="PNG")
output.seek(0)


data = "data:image/png;base64," + base64.standard_b64encode(output.read())

html = "<html><body><img src='DATA'></body></html>"

我已经看到使用 b"sting" 修复字符串错误的参考,但我不知道这将如何应用于从文件中读取。

谢谢

4

1 回答 1

4

原来我的问题不在于 base64 编码,而是我试图将其附加到的字符串。我必须执行以下操作,以便 python 不再将其视为字节编码。

base64.b64encode(output.read()).decode()
于 2016-10-14T19:07:25.173 回答