我正在尝试获取BytesIO或StringIO对象的内容,并使用base64.standard_b64encode()对其进行编码。我试过了两个。这在python 2.7中工作正常,但是在python 3.5中我得到以下错误。
TypeError:无法将'bytes'对象隐式转换为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”为字符串修复此错误的引用,但我不知道这对于从文件中读取将如何应用。
由于
答案 0 :(得分:0)
原来我的问题不在于base64编码,而在于我试图将其附加到的字符串。我必须执行以下操作,以便python不再将其视为字节编码。
base64.b64encode(output.read()).decode()