Python 2.7 base64.b64decode为什么它返回一个字符串而不是一个字节数组?

时间:2014-02-14 01:31:37

标签: python

我使用Python 2.7解码base64数据,我不明白为什么base64.b64decode返回一个字符串?如何获取已解码的二进制数据?我认为base64.b64decode会返回一个字节数组。这是base64的python文档的链接: http://docs.python.org/2/library/base64.html

感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

在2.x中, bytestring 二进制数据,以大多数可打印的形式表示。并且它不需要额外的模块来支持。

答案 1 :(得分:4)

当我们需要可变字符串或字节数组时,使用 bytearray 类型。

b64decode()函数使用 str 类型,用于不可变字符串或Python 2.7中的字节数组。

除了不需要可变性之外, b64decode()没有考虑返回bytearray的另一个原因是 b64decode()比bytearrays要老得多 - 当只有工具箱中的工具是str,所有问题都开始看起来像 str 问题; - )