Python 2.7 base64.B64解码为什么返回字符串而不是字节数组?

Python 2.7 base64.B64解码为什么返回字符串而不是字节数组?,python,Python,我正在使用Python2.7解码base64数据,我不明白base64.b64decode为什么返回字符串?如何获取解码后的二进制数据?我认为base64.b64解码将返回一个字节数组。下面是指向base64的python文档的链接: 谢谢你的帮助 在2.x中,bytestring是二进制数据,主要以可打印的形式表示。而且它不需要额外的模块来支持。当我们需要可变的字符串或字节数组时,可以使用bytearray类型 b64decode()函数使用str类型,该类型用于Python 2.7中的不可

我正在使用Python2.7解码base64数据,我不明白base64.b64decode为什么返回字符串?如何获取解码后的二进制数据?我认为base64.b64解码将返回一个字节数组。下面是指向base64的python文档的链接:


谢谢你的帮助

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

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

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


除了不需要变异性外,B64解码()没有考虑返回ByTurRayE的另一个原因是B64 CuffDE()比ByTeRiar大得多——当工具箱中的唯一工具是STR时,所有问题开始看起来像STR问题;-)p> Python 2中没有

字节
类型。它是在Python3中引入的。在Python2中只有
str
unicode
类型。我刚刚开始使用这个模块,因此我缺乏经验可以解释为什么这不是一个好问题。因此,如果我把一些二进制数据编码成base64,那么当我解码它时,我会认为它应该是一个字节数组。当我试图将数据作为字符串处理时,我遇到了一些Python代码的问题,我收到了一些异常。所以在我解码数据之后,接下来我要做的就是将结果转换成字节数组。为什么有人想要一根绳子?如果是这样的话,数据就不需要首先进行base64编码。