编码方式

Base64

​ 把任意二进制数据安全地表示成只含可打印 ASCII 字符的文本,便于在只支持文本的协议里传输,比如邮件 SMTP、HTTP、JSON 嵌入二进制、证书/密钥文本化等。它不是加密,也不是压缩;任何人都可以轻易还原

核心原理:3 字节变 4 字符

​ 3 个字节 = 24 bit。把这 24 bit 切成 4 组,每组 6 bit。每个 6 bit 的值范围是 0~63,再映射到 64 个字符表中: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

  • 0~25 -> A~Z
  • 26~51 -> a~z
  • 52~61 -> 0~9
  • 62 -> +
  • 63 -> /

编码过程

​ base64编码,每3个8位明文数据为一组,取这3个字数据的ASCII码,然后以6位为一组组成4个新的数据。对于不足3字节的处理:

  1. 将每3个字节作为一组,3个字节一共24个二进制位
  2. 将这24个二进制位分为4组,每个组有6个二进制位
  3. 在每组的6个二进制位前面补两个00,扩展成32个二进制位,即四个字节
  4. 每个字节对应的将是一个小于64的数字,即为字符编号,再根据字符索引关系表,每个字符编号对应一个字符,就得到了Base64编码字符

base64编码_数据_02

UTF-8

协议

SMTP协议

​ 用于电子邮件传输的协议