【发布时间】:2016-04-06 21:18:48
【问题描述】:
所以我正在为即将到来的考试而学习,并且有一个问题:给定一个大小为 31 字节的二进制文件,将其编码为 base64 后它的大小是多少?
老师给我们的解决方案是 (40 + 4) 字节,因为它需要是 4 的倍数。
我无法找到这个解决方案,我不知道如何解决这个问题,所以我希望有人能帮我解决这个问题。
【问题讨论】:
标签: encoding binary base64 size ascii
所以我正在为即将到来的考试而学习,并且有一个问题:给定一个大小为 31 字节的二进制文件,将其编码为 base64 后它的大小是多少?
老师给我们的解决方案是 (40 + 4) 字节,因为它需要是 4 的倍数。
我无法找到这个解决方案,我不知道如何解决这个问题,所以我希望有人能帮我解决这个问题。
【问题讨论】:
标签: encoding binary base64 size ascii
因为 base 64 编码将输入数据分成六位块,其中一个块使用 ascii 码。 如果输入中有 31 个字节,则有 31*8/6 位块进行编码。根据经验,每输入三个字节,输出就有 4 个字节 如果输入数据不是 6 位的倍数,base64 编码会用 0 位填充最后一个块 在您的示例中,您有 42 个六位块,最后填充缺少 0 位。 Base 64 算法实现用“=”符号填充编码数据,以便最终结果为 4 的倍数。
【讨论】: