编码方式
Base64
把任意二进制数据安全地表示成只含可打印 ASCII 字符的文本,便于在只支持文本的协议里传输,比如邮件 SMTP、HTTP、JSON 嵌入二进制、证书/密钥文本化等。它不是加密,也不是压缩;任何人都可以轻易还原
核心原理:3 字节变 4 字符
3 个字节 = 24 bit。把这 24 bit 切成 4 组,每组 6 bit。每个 6 bit 的值范围是 0~63,再映射到 64 个字符表中: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
0~25->A~Z26~51->a~z52~61->0~962->+63->/
编码过程
base64编码,每3个8位明文数据为一组,取这3个字数据的ASCII码,然后以6位为一组组成4个新的数据。对于不足3字节的处理:
- 将每3个字节作为一组,3个字节一共24个二进制位
- 将这24个二进制位分为4组,每个组有6个二进制位
- 在每组的6个二进制位前面补两个00,扩展成32个二进制位,即四个字节
- 每个字节对应的将是一个小于64的数字,即为字符编号,再根据字符索引关系表,每个字符编号对应一个字符,就得到了Base64编码字符

UTF-8
协议
SMTP协议
用于电子邮件传输的协议