java:关于base64编码求解
为什么字符'A'编码成base64位后是“QQ==”呢?求转变过程,不要原理谢谢!!!根据A编码写下过程拜托...
为什么字符'A'编码成base64位后是“QQ==”呢?求转变过程,不要原理谢谢!!!
根据A编码写下过程拜托 展开
根据A编码写下过程拜托 展开
1个回答
展开全部
首先base64是对字节码进行再次编码,所以要先把你这个字符转成二进行码(不过对于英文字母来说,转成的二进制码都是一样的,就没关系了)。'a'对应的二进制码为01000001(65),而base64是每6位编成一个字符(base64字符),则把此二进制码分成2段,第一段是010000,第二段是01(0000不足位补0),这两个不是一样的吗,值为16,对应第17个大写字母(0对应A),那自然是两个Q了,而base64编码至少编出4个字符(因为给3个字符来编码,一个6位,3个24位,6位一编码,正好编出4个,反过来自然是4个解码成3个)。另外这个编码过程本来就是它的原理,原理图如下,只要明白了原理才知道倒底怎么编。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询