问3个问题后就理解了Base64编码!
2023-09-06 16:58 作者:努力学习天天赚钱123456 | 我要投稿
1.Base64编码后的字符为”a~z A~Z 0~9 + /“共计64个 其中为什么要 + 和/?
Base64编码中,+和/是用于填充的字符。由于Base64编码是将3个字节(24位)的数据转换为4个字节(32位)的数据,
因此编码后的字符串长度会比原始数据长1/3。为了保持编码后的数据长度为4的倍数,需要使用+和/这两个字符进行填充。
具体来说,如果编码后的长度不足4的倍数,就在末尾添加相应数量的+字符;
如果长度超过了4的倍数,就从末尾开始将每两个+替换为/,直到长度为4的倍数为止。这样,在解码时就可以正确地还原原始数据了。
2.Base64 编码有开始符跟结束符?
是的,Base64编码有开始符和结束符。在标准的Base64编码中,每四个字节的数据被编码为六个字符,这六个字符分别是三个字母(A-Z,不区分大小写)、三个数字(0-9)以及一个或两个加号(+)。 因此,标准的Base64编码字符串以"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"作为开始,并以"="作为结束。 需要注意的是,有些情况下为了方便传输,可能会省略掉这些开始符和结束符,只保留实际的数据部分。
3.为什么Base64能将 将三个字节的内容表示为四个字节?
Base64编码将每三个字节的数据转换为四个6位的二进制数, 然后再将这四个6位的二进制数分成两组, 每组两个,对应着Base64编码表中的两个字符。如果原始数据不足三个字节, 则在编码结果中使用“=”来填充。