什么是 base64 (参考博客:https://blog.csdn.net/6346289/article/details/115743752)
Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法。由于 2⁶ = 64 ,所以每 6 个比特为一个单元,对应某个可打印字符。3 个字节有 24 个比特,对应于 4 个 base64 单元,即 3 个字节可由 4 个可打印字符来表示。相应的转换过程如下图所示:
Base64 常用于在处理文本数据的场合,表示、传输、存储一些二进制数据,包括 MIME 的电子邮件及 XML 的一些复杂数据。在 MIME 格式的电子邮件中,base64 可以用来将二进制的字节序列数据编码成 ASCII 字符序列构成的文本。使用时,在传输编码方式中指定 base64。使用的字符包括大小写拉丁字母各 26 个、数字 10 个、加号 + 和斜杠 /,共 64 个字符,等号 = 用来作为后缀用途。Base64 相应的索引表如下:
解决了什么问题(参考文章:https://zhuanlan.zhihu.com/p/595859898;https://zhuanlan.zhihu.com/p/577554002?utm_id=0)
1,将“不安全字符”,映射到“安全字符”,是Base64所擅长的
2,在传输数据中进行简单加密,不会一眼看出明文
3,http协议中,可对图片的资源进行base64处理,使接口格式统一
4,电子邮件协议smtp只能传输ASCII码可打印字符(注:[0,31],及127, 33个属于不可打印的控制字符),所以可以使用base64编码解决