我知道什么是base64编码以及如何base64在C#中计算编码,但是我多次看到,当我将字符串转换为base64时,最后会有一个=。提出了一些问题:难道一个base64字符串总是以结束=?为什么=在末尾附加get?
3 回答
慕后森
TA贡献1802条经验 获得超5个赞
1-不
2-简短的回答:第65个字符(“ =”符号)仅在消息编码的最终过程中用作补充。
如果您的字符串具有3个字符的倍数,则不会有'='符号,因为Base64
编码使用每个三个字节(8位)并将它们表示为ASCII标准中的四个可打印字符。
细节 :
(a)如果要编码
ABCDEFG <=> [ ABC
] [ DEF
] [G
Base64
将处理(产生4个字符)第一个块和第二个块(因为它们完成了),但是对于第三个块,它将==
在输出中添加一个双精度 字以完成所需的4个字符。因此,结果将是 QUJD REVG Rw == (无空格)
(b)如果您想编码...
ABCDEFGH <=> [ ABC
] [ DEF
] [GH
同样,它将=
在输出的末尾仅添加一个以获取4个字符,结果将为 QUJD REVG R0g = (无空格)
添加回答
举报
0/150
提交
取消