Python base64编码成字符串

5
我希望将一些数据进行Base64编码,然后将编码后的数据连接成一个字符串。 当我执行以下操作时:
four=base64.urlsafe_b64encode(bytes(MAIL, "utf-8"))
print (four)

结果将是:

b'YWxleEBhbGV4LmFsZXg='

我希望将four中的b''去掉,只显示YWxleEBhbGV4LmFsZXg=。如何获取没有字节类型的字符串YWxleEBhbGV4LmFsZXg=?

1个回答

10

您有一个 bytes 对象;将其解码为 Unicode:

print(four.decode('ascii'))

Base64 只使用 ASCII 字符,因此这是一个很好的编解码器。如果您不明确进行解码,print() 只能使用 repr() 表示法,它会生成 Python 字面值语法,这是您用来创建与字面值相同的值所需的语法。


工作得很好。感谢您的解释。我在一个带有额外文本的sha1哈希中使用了hexdigest(),但是对于base64编码元素,这种方法行不通。然而,.decode('ascii')方式可以。 - Alexandru Marton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接