估计在Python中编码为B64字符串的二进制数据的大小

时间:2011-07-22 17:10:09

标签: python string binary

所以我在python中有一些二进制数据(在这种情况下是一个jpg图像),我正在从API中作为B64编码的字符串进行检索。有没有一种简单的方法来估计磁盘上这个(图像)文件的大小?

<Image>/9j/4AAQSkZJRgABAgEASABIAAD/4RriRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA
AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAeAAAAcgEyAAIAAAAUAAAAkIdp
AAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9z ....... </Image>

2 个答案:

答案 0 :(得分:8)

您可以将字符串的长度乘以3/4以获得以字节为单位的大小。

(len(str) * 3) / 4

答案 1 :(得分:0)

我正在使用它:

def size(b64string):
    return (len(b64string) * 3) / 4 - b64string.count('=', -2)

我们将填充的长度删除为explained here,该长度为no,一个或两个字符=

可能不是最佳的。我没有效率str.count(char)。另一方面,它仅在长度为2的字符串上执行。