跳到主内容
UniKit

Base64 编解码

把文本编码成 Base64 或把 Base64 解码回文本,支持 URL 安全字符集与中文、Emoji 等 Unicode 内容。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

结果

这个工具能做什么

  • 把二进制不友好的文本塞进只能传 ASCII 的通道:HTTP 头、URL 查询串、JSON 字符串、邮件头、XML 属性等。
  • 解 JWT、Basic Auth、Data URL、邮件源码里那种「看着像乱码」的字段,快速判断里面到底是什么内容。
  • 排查编码问题时对照字节数:同一段中文在 Base64 里通常比原文长三分之一,可以用这个比例反推原文长度。
  • 把不可见字符(换行、制表符、控制字符)编成可复制的可见文本,再粘到聊天工具或工单里传递。

示例

输入

Hello, UniKit! 你好,工具站!

输出

SGVsbG8sIFVuaUtpdCEg5L2g5aW977yM5bel5YW356uZ77yB

中文和 Emoji 会先按 UTF-8 编码再转 Base64,所以解码时必须用同样的字符集,否则会出现乱码。

常见问题

Base64 是加密吗?

不是。Base64 只是把任意字节映射成 64 个可打印字符的编码方式,任何人都能一行代码解回来,它不提供任何保密性。要保密请用 AES 之类的加密工具,Base64 只解决「能不能安全传输」的问题。

为什么编码后的内容末尾有一两个等号?

Base64 每 3 个字节编成 4 个字符,原文长度不是 3 的倍数时用 = 补位。一个 = 表示原文长度除以 3 余 2,两个 = 表示余 1。补位只影响长度对齐,不携带信息,所以很多场景(如 URL、JWT)会直接去掉它。

URL 安全字符集是什么,什么时候该勾选?

标准 Base64 的字母表里有 + 和 /,这两个字符在 URL 里有特殊含义,放进查询串会被当成空格或路径分隔符。勾选后会用 - 和 _ 替换它们并去掉补位的 =,这就是 RFC 4648 定义的 base64url,JWT、Data URL 都用它。

解码报「不是合法的 Base64」或乱码是怎么回事?

三种常见原因:字符串里混进了空格或换行(勾选「忽略空白字符」即可);原文是用 GBK 等非 UTF-8 编码生成的,需要用字符集转换工具先转码;内容被截断,长度不是 4 的倍数且无法补位。

我的数据会被上传吗?

不会。编解码全部在你的浏览器里用 JavaScript 完成,页面不发送任何网络请求,输入内容也不会被记录。断网状态下同样可以使用。

关键词:base64base 64encodedecode编码解码url safeunicodebase64 转换

同类工具