掌握Base64编码与解码的完整指南

解码(直接使用)

在这里插入图片描述

编码 (直接使用)

在这里插入图片描述

Base64 = 把二进制数据,用 64 个可打印 ASCII 字符来表示

编码目的

    1. 让二进制能在文本协议里传输
    1. 避免编码 / 传输错误

为什么需要 Base64?(核心动机)

原始问题

  • HTTP Header / JSON / XML 不能放二进制
  • 邮件(SMTP)只认 ASCII
  • 某些系统会把 0x00、0xFF 截断

Base64 解决什么?

问题 Base64
    1. 二进制 转成文本
    1. 不会乱码
    1. 传输安全 ASCII

Base64 的本质原理

核心思想

 每 3 字节 → 变成 4 个字符

数学关系

3 bytes = 24 bits
↓
4 × 6 bits = 24 bits

编码表(标准 Base64)

字符
0–25A–Z
26–51a–z
52–610–9
62+
63/

编码过程
原始字节:

0x4D 0x61 0x6E

二进制:

01001101 01100001 01101110

重排成 6 bit 一组:

010011 010110 000101 101110

四、解码原理(逆向)

    1. 查表 → 6 bit 值
    1. 拼接 → 24 bit
    1. 拆成 → 3 字节
    1. 丢弃 = 填充

✅ 解码是编码的严格逆运算

五、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 字符
✅ 不是加密,只是编码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值