Base64如何编码2字节序列?

时间:2013-01-21 06:06:14

标签: networking encoding base64 decoding

我给了一个2字节的序列并要求Base64编码:

  

00000001 00010001

据我所知,使用Base64时只能编码6位序列。 因为16位不能被6整除,所以我有点卡住了。

我能看到的解决方案是将给定的2字节序列转换为3字节序列,使其可以被6整除。但是如何在不改变初始序列值的情况下这样做呢?

1 个答案:

答案 0 :(得分:0)

基本上,你用零填充它到下一个6位的倍数,并用= s填充最后四个字符的序列。由于最后两个零字节不构成一个完整的输入字节,解码器知道忽略它们。 (=填充不是完全必要的,但习惯上最终结果总是4个字符的倍数。)

例如,您获得的序列是:

00000001 00010001

将其分成6组,我们得到:

000000 010001 0001

用零填充:

000000 010001 000100

转换为ASCII:

ARE

然后说出来:

ARE=