在线Base64编码解码
在线Base64字符串编码解码工具
关于Base64编码解码
两个按钮:编码把文字转成 Base64,解码转回来。都在浏览器里按 UTF-8 处理,中文和 emoji 编完再解回来不会乱。
先说最容易搞错的:Base64 不是加密。不管有没有密钥,谁拿到都能立刻解开。它的作用只是让数据能通过只认纯文本的通道,邮件附件是它的老本行,现在你会在更多地方碰到它。
它常出现的地方
- data URL:
<img src="data:image/png;base64,...">把图片直接内嵌进 HTML - HTTP Basic 认证:Authorization 头就是 base64(用户名:密码)
- JWT:头和载荷都是 Base64URL,把载荷解开就能看到内容
- 不肯收原始字节的接口和存储
解不开的常见原因
按出现频率排:字符串里混进了空格或换行;长度不是 4 的倍数(标准要求末尾补 =,有些工具会把等号去掉);以及 URL 安全变体,用 - 和 _ 代替 + 和 /,JWT 用的就是这种。
还有一点:解码失败往往不报错,只是解出一堆乱码。乱码基本说明原文本来就不是 Base64。
常见问题
Base64 是加密吗?
不是。它是没有密钥的编码,谁都能解开。别把 Base64 字符串当受保护的数据,更别用它藏密码。
为什么转完比原文长?
Base64 把 3 个字节编成 4 个字符,体积涨三分之一左右再加补位。这是它能在纯文本通道里存活的代价。
支持中文吗?
支持。先按 UTF-8 转成字节再编码,中文、日文、emoji 编完解回来都正常。按 ASCII 处理的工具会把中文编坏。
Base64URL 是什么?
同样的字母表,把 + 和 / 换成 - 和 _,去掉末尾的 =。因为那几个字符在 URL 和 JWT 里有特殊含义。