我给了一个2字节的序列并要求Base64编码:
00000001 00010001
据我所知,使用Base64时只能编码6位序列。 因为16位不能被6整除,所以我有点卡住了。
我能看到的解决方案是将给定的2字节序列转换为3字节序列,使其可以被6整除。但是如何在不改变初始序列值的情况下这样做呢?
答案 0 :(得分:0)
基本上,你用零填充它到下一个6位的倍数,并用=
s填充最后四个字符的序列。由于最后两个零字节不构成一个完整的输入字节,解码器知道忽略它们。 (=
填充不是完全必要的,但习惯上最终结果总是4个字符的倍数。)
例如,您获得的序列是:
00000001 00010001
将其分成6组,我们得到:
000000 010001 0001
用零填充:
000000 010001 000100
转换为ASCII:
ARE
然后说出来:
ARE=