解码直接使用编码 直接使用Base64 把二进制数据用 64 个可打印 ASCII 字符来表示编码目的让二进制能在文本协议里传输避免编码 / 传输错误为什么需要 Base64核心动机原始问题HTTP Header / JSON / XML 不能放二进制邮件SMTP只认 ASCII某些系统会把 0x00、0xFF 截断Base64 解决什么问题 Base64二进制 转成文本不会乱码传输安全 ASCIIBase64 的本质原理核心思想每 3 字节 → 变成 4 个字符数学关系3bytes24bits ↓4×6bits24bits编码表标准 Base64值字符0–25A–Z26–51a–z52–610–96263/编码过程原始字节0x4D 0x61 0x6E二进制01001101 01100001 01101110重排成 6 bit 一组010011 010110 000101101110四、解码原理逆向查表 → 6 bit 值拼接 → 24 bit拆成 → 3 字节丢弃 填充✅ 解码是编码的严格逆运算五、Base64 ≠ 加密99% 的人误解项目 结论是否加密 ❌是否可逆 ✅是否安全 ❌是否防偷看 ❌ Base64 只是编码不是加密六、URL Safe Base64你一定会遇到标准 Base64/URL 里会出问题 ❌✅ URL Safe- _转换 → - / → _→ 通常去掉 八、一眼识别 Base64✅ 是 Base64• 字符集只有A–Z a–z 0–9 / • 长度是 4 的倍数• 结尾可能有 / ❌ 不是 Base64• 有 { }• 有 %• 有 \u• 有奇怪符号✅ Base64 把 8bit 二进制 → 6bit 文本表示✅ 3 字节变 4 字符✅ 不是加密只是编码