Base64 编码解码

UTF-8 中文 / Emoji / 多行 · 标准与 URL-safe · 本地完成
纯本地处理 · 文本不上传 四色笔记 ↗

转换

原文 0 字符 · 0 字节
编码结果 0 字符

Base64 编码解码使用指南

Base64 编码规则:3 个字节变 4 个字符,为什么体积涨三分之一

中文 Base64 为什么是 5Lit5paH:UTF-8 先行

URL-safe Base64:为什么要把 + 和 / 换成 - 和 _

Base64 解码失败的两类原因:非法字符与非 UTF-8 字节

关于这个 Base64 编码解码工具

编码前先把文本按 UTF-8 转成字节,再对这些字节做 Base64,因此中文、Emoji 与多语言混排都不会乱码:「中文」编码为 5Lit5paH,一个 Emoji 与一整段多行文本同样能原样还原。粘贴内容即出结果,不需要点按钮。

提供两种字母表:标准 Base64 的第 63、64 个字符是 + 和 /,URL-safe 变体把它们换成 - 和 _,可以直接放进链接与路径;切换变体只影响这两个字符,其余编码结果完全一致。末尾的 = 只是填充,可以勾选省略,解码时会自动补回。

多行文本会被完整处理:换行符作为普通字符一起编码,解码后原样还原;反过来粘贴 76 字符一换行的 MIME 文本时,所有空白会在解码前忽略,因此折行的 Base64 也能直接解。解码出问题时提示分两类——出现字母表之外的字符(会指出第几个),或字节序列不是合法 UTF-8(通常是图片、压缩包等二进制数据,无法当作文本显示)。结果可一键复制或回填,整个过程在浏览器本地完成,页面不发出任何携带内容的网络请求。

常见问题

中文和 Emoji 能正确编码吗?

能。编码前先把文本按 UTF-8 转成字节,再对这些字节做 Base64;解码时按 UTF-8 还原。因此「中文」编码为 5Lit5paH,Emoji 与多语言混排同样不会乱码。

标准 Base64 和 URL-safe 有什么区别?

标准 Base64 的第 63、64 个字符是 + 和 /,在 URL 或文件名里需要再次转义;URL-safe 变体把它们换成 - 和 _,可以直接放进链接与路径。切换变体只影响这两个字符,其余编码结果完全一致。

解码时为什么会自动补上等号?

等号只是末尾填充,不是数据本身。很多场景下它会被省略或被 URL 转义,所以解码前会先去掉空白、把 - 和 _ 换回 + 和 /,再按长度补回缺失的等号;数据内容不会改变。

能处理多行文本吗?

能。多行文本的换行符会作为普通字符一起编码,解码后原样还原;反过来粘贴折行的 Base64 时,所有空白会在解码前被忽略,因此 76 字符一换行的 MIME 文本也能直接解码。

解码失败会提示什么?

分两类:出现 Base64 字母表之外的字符(会指出去掉空白后是第几个字符),或字节序列不是合法 UTF-8(通常是图片、压缩包等二进制数据,无法当作文本显示)。提示只说明原因,不会改写你的输入。

输入的文本会被上传吗?

不会。编码与解码全部在浏览器内完成,页面不发出任何携带内容的网络请求,也不记录或缓存你输入的文本。