Base 64采用3个字节(24位)并通过4 * 6位表示这些。如果数据不能除以3,则额外的字节被视为一种填充? 这个填充是否负责base64表示大于二进制编码?
为什么base64更大?
答案 0 :(得分:5)
Base64更大,因为它只使用字节中的6位来存储信息,因此需要4字节的传输数据来存储3个字节的实际信息。
即。即使base64只在其一个字节中存储6位数据,该字节仍然需要8位存储空间。
答案 1 :(得分:2)
Base64更大,因为那些6位块通常以8位字节存储,其中一些位设置为零,因此您从3个完全使用的字节移动到4个部分使用的字节,因此它有效地导致更多的字节用过的。使用相同数量的位,但它们分布在更多字节上。填充仅适用于源的最后一个或两个字节,但所有源字节都会发生这种3到4的增加,这就是编码导致音量增加的原因。