如果数据是 450KB base64 编码,那么数据的文件大小是多少?
What file size is data if it's 450KB base64 encoded?
如果我在 base64 编码时知道数据的大小,是否可以计算数据的大小?
我有一个 base64 编码后大小为 450KB 的文件,但它解压后的大小是多少?
有没有一种方法可以在不先解压文件的情况下找到输出大小?
I've a file that is 450KB in size when base64 encoded but what size is it decompressed?
其实你不"decompress",你解码。结果将小于编码数据。
由于 Base 64 编码需要原始数据的每 6 位 ~ 8 位(或 4 个字节来存储 3),数学很简单:
Encoded Decoded
450KB / 4 * 3 = ~ 337KB
Base64 和解码字符串之间的开销几乎保持不变,为 33.33%。我说 "nearly" 只是因为末尾的填充字节 (=
) 使字符串长度成为 4 的倍数。参见一些示例:
String Encoded Len B64 Pad Space needed
A QQ== 1 2 2 400.00%
AB QUI= 2 3 1 200.00%
ABC QUJD 3 4 0 133.33%
ABCD QUJDRA== 4 6 2 200.00%
ABCDEFGHIJKLMNOPQ QUJDREVGR0hJSktMTU5PUFE= 17 23 1 140.00%
( 300 bytes ) ( 400 bytes ) 300 400 0 133.33%
( 500 bytes ) ( 668 bytes ) 500 666 2 133.60%
( 5000 bytes ) ( 6668 bytes ) 5000 6666 2 133.36%
... tends to 133.33% ...
计算未编码数据的space:
让我们得到上面提到的值QUJDREVGR0hJSktMTU5PUFE=
。
编码后的值有24个字节
让我们计算 24 / 4 * 3 => 结果是 18.
让我们数一数编码值末尾的=
个数:在这种情况下,1
(我们只需要检查编码数据的最后 2 个字节)。
得到 18(在第 2 步中获得)- 1(在第 3 步中获得)我们得到 17
所以,我们需要17个字节来存储数据。
base64 大约增加了原始大小的三分之一,因此您的文件大小应该大约为 .75*450kb。
如果我在 base64 编码时知道数据的大小,是否可以计算数据的大小?
我有一个 base64 编码后大小为 450KB 的文件,但它解压后的大小是多少?
有没有一种方法可以在不先解压文件的情况下找到输出大小?
I've a file that is 450KB in size when base64 encoded but what size is it decompressed?
其实你不"decompress",你解码。结果将小于编码数据。
由于 Base 64 编码需要原始数据的每 6 位 ~ 8 位(或 4 个字节来存储 3),数学很简单:
Encoded Decoded
450KB / 4 * 3 = ~ 337KB
Base64 和解码字符串之间的开销几乎保持不变,为 33.33%。我说 "nearly" 只是因为末尾的填充字节 (=
) 使字符串长度成为 4 的倍数。参见一些示例:
String Encoded Len B64 Pad Space needed
A QQ== 1 2 2 400.00%
AB QUI= 2 3 1 200.00%
ABC QUJD 3 4 0 133.33%
ABCD QUJDRA== 4 6 2 200.00%
ABCDEFGHIJKLMNOPQ QUJDREVGR0hJSktMTU5PUFE= 17 23 1 140.00%
( 300 bytes ) ( 400 bytes ) 300 400 0 133.33%
( 500 bytes ) ( 668 bytes ) 500 666 2 133.60%
( 5000 bytes ) ( 6668 bytes ) 5000 6666 2 133.36%
... tends to 133.33% ...
计算未编码数据的space:
让我们得到上面提到的值QUJDREVGR0hJSktMTU5PUFE=
。
编码后的值有24个字节
让我们计算 24 / 4 * 3 => 结果是 18.
让我们数一数编码值末尾的
=
个数:在这种情况下,1
(我们只需要检查编码数据的最后 2 个字节)。得到 18(在第 2 步中获得)- 1(在第 3 步中获得)我们得到 17
所以,我们需要17个字节来存储数据。
base64 大约增加了原始大小的三分之一,因此您的文件大小应该大约为 .75*450kb。