Base64 编码解码
输入文字或选一个文件,点“编码”得到 Base64;粘贴 Base64,点“解码”还原。中文按 UTF-8 处理,内容只在你的浏览器里处理,不会上传。
使用限制
- 文字一律按 UTF-8 编码成字节再转 Base64,这和很多编程语言的默认做法一致。如果对方系统用的是 GBK 等其他编码,算出来的 Base64 会不同。
- 选文件编码时,上限 20 MB;很长的文字(几 MB)也能处理,脚本部分不到一秒;但几 MB 以上的内容放进文本框时,浏览器自己排版会变慢,可能卡几秒到十几秒,请耐心等待或改用文件方式编码。
- “每 76 个字符换一行”用的是普通换行符;解码时换行和空格会被自动忽略。
- 这是编码,不是加密:任何人都能解开 Base64,不要用它来保护密码或密钥。
使用方法
- 编码:在输入框里输入文字(或选一个文件),按需勾选选项,点“编码”。
- 解码:把 Base64 粘贴到输入框,点“解码”。缺少结尾的
=、含有换行或空格、使用-_的 URL 安全写法,都能直接解开;带data:…;base64,前缀的也可以。 - 解出来的内容如果不是文字(比如图片或压缩包),会提示“不是 UTF-8 文本”,并可以点“下载结果”保存成文件。
- 想反复转换时,用“把结果放回输入框”。
常见问题
为什么不直接用浏览器自带的 btoa?
btoa 只能处理单字节字符,遇到中文会报错;网上常见的绕法会得到和其他语言不一致的结果。本工具先把文字按 UTF-8 转成字节,所以“你好”得到的是 5L2g5aW9,和 Python、Java、Go 等一致。
Base64 是加密吗?
不是。它只是把任意字节换成 64 个可打印字符,方便放进文本、邮件、JSON 或网址里,体积大约增加三分之一。
标准 Base64 和 URL 安全变体有什么区别?
标准写法用 + 和 /,这两个字符在网址里有特殊含义;URL 安全变体改用 - 和 _,通常还会省略结尾的 =。JWT 令牌用的就是这一种。
解码后看到乱码或提示“不是文本”怎么办?
说明解出来的字节不是合法的 UTF-8 文字:可能原文是图片、压缩包等二进制文件,也可能原文用的是 GBK 等其他编码。前一种情况点“下载结果”保存即可。
我的内容会被上传吗?
不会。编码和解码都在你的浏览器里完成,页面不会向任何服务器发送你输入的内容或选择的文件。