base64 编码字节 v b64encode v 编码字符串

base64 encodebytes v b64encode v encodestring

有什么区别,我想使用 why/when base64.b64encode 对比 base64.encodestring 对比 base64.encodebytes?

据我所知,除了 base64.encodebytes 不再是 supported???

,他们基本上都做同样的事情

谢谢

对于 Python 3,encodestringencodebytes 相同,只是 encodestring 已弃用。在Python2中,encodebytes不存在。

b64encode 进行直接编码,可选择使用 base64 字母表中的替代字符代替 +/

encodebytes/encodestring 不仅编码而且在每 76 个字符之后和字符串末尾插入换行符。这使得它适合直接插入到电子邮件中。它没有 有替代字符的选项。

更新:这似乎是一个流失率很高的领域。 encodestring 在 3.1 中弃用后似乎已在 Python 3.9 中删除。有一个新的 urlsafe_b64encode,它采用字节字符串并使用 -_ 代替 +/,如 RFC 3548 所指定。