Base64 编解码工具 + 6 个真实场景
Base64 是工程师每天打交道的老朋友。HTTP 头、邮件附件、JWT、URL 编码……但你真的清楚它在干嘛吗?
什么是 Base64
Base64 是把二进制数据用 64 个 ASCII 字符表示的编码方式。
- 64 个字符:
A-Z a-z 0-9 + /(共 62 个)+=(填充) - 每 3 个字节(24 bit)→ 4 个字符(每个 6 bit)
- 解码端严格按 ASCII 处理,适合在文本协议(HTTP、SMTP、JSON)里传输二进制
在线工具

支持: - ✅ 文本 → Base64 - ✅ Base64 → 文本 - ✅ UTF-8 编码(中文也 OK)
6 个真实场景
场景 1:HTTP Basic Auth
用户名: admin
密码: 123456
→ Authorization: Basic YWRtaW46MTIzNDU2
import base64
auth = base64.b64encode(b'admin:123456').decode('ascii')
# 'YWRtaW46MTIzNDU2'
场景 2:JWT Token
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NSJ9.SflKxw
└──── header ────┘ └──── payload ────┘ └─ signature ─┘
JWT 的 header 和 payload 都是 Base64URL 编码(用 -_ 代替 +/)。
场景 3:URL 安全编码
普通 Base64 的 +/= 在 URL 里是特殊字符,要替换成 URL-safe 版本:
# 标准 Base64
base64.b64encode(b'hello?') # b'aGVsbG8/PQ=='
# URL Safe Base64
base64.urlsafe_b64encode(b'hello?') # b'aGVsbG8_PQ=='
场景 4:邮件附件(MIME)
from email.mime.base import MIMEBase
from email import encoders
attachment = MIMEBase('application', 'octet-stream')
attachment.set_payload(open('report.pdf', 'rb').read())
encoders.encode_base64(attachment) # ← Base64 编码
场景 5:图片内联(Data URL)
<img src="data:image/png;base64,iVBORw0KGgoAAA..." />
把小图直接编码进 HTML,省一次 HTTP 请求。
场景 6:密钥存储
# SSH 公钥格式
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ... user@host
└──────── Base64 编码的二进制部分 ────────┘
Python 一行实现
import base64
# 编码
encoded = base64.b64encode('你好世界'.encode('utf-8')).decode('ascii')
# '5L2g5aW95LiW55WM'
# 解码
decoded = base64.b64decode(encoded).decode('utf-8')
# '你好世界'
注意事项
⚠️ Base64 不是加密!任何人拿到都能解。它只是"编码"。
如果需要保密,先用 AES/RSA 加密,再 Base64 编码。
📱 扫码右侧二维码关注「网英的日常」,更多工程师工具持续更新!