2

Base 64 占用 3 个字节(24 位)并通过 4*6 位表示这些。如果数据不能被3除,额外的字节被当作一种填充?这个填充是否负责 base64 表示大于二进制编码?

或者为什么base64更大?

4

2 回答 2

5

Base64 更大,因为它只使用字节中的 6 位来存储信息,因此需要 4 字节的传输数据来获取 3 字节的实际信息。

即,即使base64 仅在其一个字节中存储6 位数据,该字节仍需要8 位存储空间。

于 2013-10-02T11:51:19.683 回答
2

Base64 更大,因为这些 6 位块通常存储在 8 位字节中,其中一些位设置为零,因此您从 3 个完全使用的字节移动到 4 个部分使用的字节,因此它有效地导致使用更多字节。使用相同数量的位,但它们分布在更多字节上。填充仅适用于源的最后一个或两个字节,但这种 3 到 4 的增加发生在所有源字节上,这就是编码导致音量增加的原因。

于 2013-10-02T11:54:00.263 回答