Base64 编解码

在线 Base64 编码与解码,正确处理中文、Emoji 等 UTF-8 与 Unicode 文本,可一键互换反向验证,全程本地运行,内容不会上传。

选择模式

使用说明

  1. 先在顶部选择模式:默认「编码」把文本转成 Base64;切换到「解码」则把 Base64 还原为可读文本。
  2. 在输入框粘贴或输入内容,编码模式支持中文、日文、Emoji 等任意 UTF-8 字符。
  3. 点击「编码 / 解码」按钮,结果会出现在下方结果区,点右上角「复制」即可带走。
  4. 想验证结果是否正确时,点击「互换」把输出内容移回输入框并自动切换模式,可立即反向校验。
  5. 「示例」会按当前模式填充演示内容,「清空」可重置输入、结果与错误提示。

常见问题

中文为什么不会出现乱码?
本站先用 TextEncoder 把文本按 UTF-8 编码为字节,再转成 Base64;解码时也按 UTF-8 还原。若把 UTF-8 数据误当 Latin-1 直接处理(常见于 btoa 直传),中文才会变成乱码。
提示「不是有效的 Base64」是怎么回事?
标准 Base64 只能包含字母、数字、+、/ 以及结尾的 =,且总长度须为 4 的倍数。请检查是否漏了字符、混入了其它符号,或复制时截断不完整。
解码后提示不是合法 UTF-8 文本?
说明解码得到的字节不是纯文本,例如图片、压缩包等二进制数据。这类内容请使用专门的二进制转 Base64 工具处理,本页面向文本场景。
我的内容会传到服务器吗?
不会。编码与解码全部在浏览器本地完成,输入内容不会离开您的设备。

界面截图

Base64 编解码 · 界面预览
界面预览
Base64 编解码 · 示例结果
示例结果

使用步骤

  1. 选择编码或解码模式

    先在顶部选好方向:编码把普通文本变成 Base64,解码把 Base64 还原成可读文本。两种模式随时可以切换。

  2. 输入要处理的内容

    把文本粘贴进输入框,中文、日文、Emoji 等 UTF-8 字符都支持。选了解码模式时,粘贴的就是一段 Base64 字符串。

  3. 点击按钮得到结果

    点编码或解码按钮,结果立即显示在下方输出区。点输出区右上角的复制按钮,即可直接取走使用。

  4. 用互换按钮验证结果

    点互换按钮,结果会移回输入框并自动切换模式。再跑一次就是反向验证,能确认编解码结果正确。

  5. 看懂两类报错提示

    提示不是有效的 Base64,说明字符集或长度不对。提示不是合法 UTF-8,说明原数据是图片等二进制,不是文本。

工具详细介绍

Base64 是一种把任意字节转成纯文本字符的编码方式,常用于在只能传文本的场合携带二进制或特殊字符数据。本工具支持编码与解码双向操作,先转 UTF-8 字节再编码,中文与 Emoji 不会出现乱码,全部计算在浏览器本地完成。

典型用途包括:给接口传参或邮件正文携带二进制数据、生成 Basic 认证凭据串、把中文参数转成安全字符串放进链接。别人发来一段 Base64 文本时,也可以粘进来快速还原。前后端开发者、测试和运维排查接口问题时,都可以直接粘贴验证。

原理与背景

Base64 的原理写在 RFC 4648 里:把每 3 个字节共 24 位均分成 4 段各 6 位,逐一映射到一张 64 字符表。表的内容是大写字母 26 个、小写字母 26 个、数字 10 个,再加加号与斜杠。原文长度不是 3 的倍数时,先给末尾补零位,再用一个或两个等号标记补齐的字节。这套映射没有压缩效果,输出恒定比原文膨胀约三分之一。Base64 解决的是文本通道的传输问题,不是存储问题。

在 URL 里携带 Base64 有一个经典坑:标准字母表里的加号进入查询串会被解释成空格,斜杠又与路径分隔符冲突。Base64url 变体因此把这两个字符换成连字符与下划线,JWT 的头部、载荷与签名三段就用这种写法。另一个坑在浏览器内置的 btoa 函数上:它只接受 Latin-1 范围内的字符码,直接传中文会抛出异常。正确做法是先把文本转成 UTF-8 字节序列,再做映射。不少在线工具输出乱码,根源就是悄悄省掉了这一步。

典型使用场景

  1. 生成 Basic 认证头

    HTTP Basic 认证的头是 Basic 加上用户名和密码的 Base64 结果,中间的冒号常被漏掉。把凭据拼好贴进来编码即可填进请求头,排查 401 时也能把下发的凭据串解回来核对。

  2. 解读 JWT 的载荷段

    JWT 用两个点分成三段,第二段是 Base64url 编码的载荷,内容不加密、人人可读。把连字符换回加号、下划线换回斜杠再解码,过期时间和自定义声明都能直接看到。

  3. 把小图标内嵌进网页

    几十 KB 以内的小图标编码后写进 CSS 或 HTML,能省掉一次图片请求。编码结果以 data:image/png;base64, 开头。编码前先看体积,几 KB 的装饰图才划算,大图内嵌会拖慢首屏加载。

使用技巧

  • 拿到结果拿不准对不对时,点互换按钮再跑一遍,能还原回原文就说明编码无误。
  • 标准 Base64 只含字母、数字、加号、斜杠和结尾最多两个等号,总长度须是 4 的倍数,报错先检查是否复制不全。
  • 解码提示不是合法 UTF-8 时,原内容多半是图片或压缩包,请改用专门的文件转 Base64 工具处理。

注意事项

  • 邮件里每 76 字符断行

    MIME 规范要求编码内容每 76 个字符插入一个换行,从邮件源码或老系统复制的内容自带断行。直接解码会报非法字符,先删除全部空白与换行再操作。

  • 编码不等于加密

    Base64 只是换一种写法,没有密钥参与,任何人一步就能还原。把密码或密钥编码后写进前端代码或链接里等于公开明文,敏感数据的保护要交给 TLS 与服务端鉴权。

  • 警惕重复编码

    内容在系统之间多次转发可能被编码两次,解出来仍是一段 Base64 样子的文本。解码结果读不出原文时先再解一次,也让发送方确认没有重复处理,免得排查走弯路。

相关工具