引言
图片是用二进制表示的,JPG 等都是二进制
base64 不是一种加密工具,只是一种编码方式,当然这样编码之后确实就变得不能直接读了
(所以说,“base64 代替 url”,不是说它把 url 加密了,而是直接传图片,对图片信息进行编码)
如果一个字符串中出现’+‘和’‘两种字符,字符串的末尾有一两个’=',一般这个字符串就是 base64 编码的
编码原理
将二进制数据进行分组,每 24bit(3B)为一个大组,再把一个大组的数据分成 4×6bit 的小分组
Base64 的 64,就是因为 6bit 是 64 个字符
这 64 个字符,显示的记为 A’-‘Z(26)’,‘a’-‘z’(26),‘0’-‘9’(10),‘+‘和’/’(2)
“6bit”这种数据是很难保存的,一般在前面补上两个 0,变成 8bit(1B)
一些细节
二进制数据长度不一定是 3B 的倍数,能想到的就是在字符串末尾补零嘛
但是‘000000’是‘A’,这就重复了
所以要换一个不在 64 个字符里的东西去填充————‘=’
明白了这个原理,就能知道=最多两个,并且只在末尾出现