Base64编码解码:文本文件转换
完全在浏览器中将文本或文件编码为Base64,并将Base64还原为可读文本。
粘贴文本后点击编码,或粘贴Base64字符串后点击解码。令牌和查询字符串可启用URL安全选项,也可选择文件生成数据URI。
Base64编码解码:文本文件转换
完全在浏览器中将文本或文件编码为Base64,并将Base64还原为可读文本。
文件在本地读取并转换为输出框中的Base64数据URI,不会上传。
原理:文本先转为UTF-8字节,每3个字节映射为64字符表中的4个字符。URL安全模式用-和_替换+和/并去掉填充。
关于Base64编码解码器
Base64是一种二进制转文本编码,用64个可打印字符表示任意字节。它适合在只支持文本的协议中传输二进制数据,例如图片、JSON字段、认证标头和CSS资源。
本工具使用JavaScript完全在浏览器中运行,输入和文件不会上传,适合处理令牌、证书等敏感内容。文本先转换为UTF-8,因此符号、表情和中文都能正确往返。
编码每次处理3个字节并生成4个字符;不足部分使用一个或两个等号填充。解码器支持带填充、无填充、空白和换行的输入。
URL安全变体将+改为-、/改为_并删除末尾填充,常用于JWT、URL参数和文件名。解码器会自动接受两种字母表。
文件模式可将图片、字体或PDF转为数据URI。Base64会使数据约增大33%,且只是编码而非加密,不能用来隐藏秘密。
Base64编码示例
这些转换展示了字母表、填充和URL安全变体的行为。
| 输入 | 输出 | 说明 |
|---|---|---|
| Man | TWFu | 三个ASCII字节正好映射为四个Base64字符,无需填充。 |
| light work. | bGlnaHQgd29yay4= | 11个字节剩余两个字节,因此追加一个=填充字符。 |
| é | w6k= | é先变为两个UTF-8字节C3 A9,再进行编码,说明支持Unicode。 |
| ???(URL安全模式) | Pz8_ | 标准Base64为Pz8/;URL安全变体把/换成_。 |
如何编码或解码Base64
- 在输入框粘贴要编码的文本或要解码的Base64字符串。
- 需要base64url格式时,可选中URL安全选项。
- 点击编码或解码,结果会立即显示在输出框。
- 转换文件时,用文件选择器选取文件并复制输出的数据URI。
- 点击清除以重置两个输入框。
Base64编码解码常见问题
Base64是加密吗?
不是。Base64是可逆编码,不需要密钥即可解码。它只让二进制数据适合文本传输,不能保护秘密。
Base64和base64url有什么区别?
标准Base64使用+和/;URL安全变体在RFC 4648中将它们替换为-和_,通常省略=填充。JWT常用base64url。
为什么解码结果乱码?
原始数据可能不是UTF-8文本,而是二进制或其他字符集;截断或损坏的输入也会导致乱码。
为什么有些Base64以一个或两个=结尾?
3个字节变为4个字符;输入不足3的部分用=补齐,一个剩余字节使用两个=,两个剩余字节使用一个=。
Base64会让数据增大多少?
每3个字节变为4个字符,因此通常约增大33%,另加最多两个填充字符。
文本和文件会上传吗?
不会。所有操作都在浏览器本地完成,文件使用FileReader读取,不会离开设备。