多种 Base 编码与解码工具

选择格式,把文本的 UTF-8 字节编码为 Base32、Base32hex、Base58、Ascii85 或 Z85。切换到解码,即可把编码文本还原为文本。

免费 在浏览器中运行 核对于2026年11月10日星期二

模式

编码时输入任意文本(编码的是它的 UTF-8 字节)。解码时输入编码后的文本;空格和换行会被忽略。

结果

结果 — 可复制,或下载为 result.txt。
检查 — 文本是否已编码或解码,若不能则说明原因。
字节数 — 编码前文本的字节数,或解码后数据的字节数。
字符数 — 编码后文本的字符数,或解码后文本的字符数。
结果

此工具在您的浏览器中运行。您输入的内容不会发送给我们。

使用方法

  1. 选择“格式”,并在“模式”中选择“编码”或“解码”。
  2. 在“文本”中输入内容,结果会随输入即时显示。
  3. 阅读“检查”。若提示文本无效,请改正它指出的字符;若有效,则复制“结果”。

五种格式

每种格式都用一组固定的可打印字符来表示二进制数据。它们使用的字符数不同,输出比输入长多少也不同。

  • Base32(RFC 4648 第6节)使用 A 至 Z 和2至7。每个字符承载五位,八个字符表示五个字节,文本用 = 补足到八的倍数。
  • Base32hex(RFC 4648 第7节)使用0至9和 A 至 V。它保留了数据的排序,而 Base32 做不到。
  • Base58 使用比特币字母表,不含0、O、I 和 l,以免相似的字符被混淆。每个前导零字节变为一个1,且没有填充。
  • Ascii85 把四个字节写成五个 ! 至 u 之间的字符,比数据长约四分之一。四个零字节写作 z。
  • Z85 是为源代码设计的 Ascii85 版本:四个字节变为85个字符字母表中的五个字符,这些字符在字符串中是安全的。其数据必须是四个字节的倍数。

文本与字节

文本按其 UTF-8 字节(RFC 3629)编码,因此带重音的字母(如 ğ)占两个字节,表情符号占四个字节。解码把字节还原为文本。若解码得到的字节不是有效的 UTF-8,例如文件或密钥,页面会改以十六进制显示,因此没有任何字节丢失。

解码接受什么,拒绝什么

RFC 4648 第3.3节规定,解码器必须拒绝字母表之外的字符。本页也是如此,因此 Base32 不接受小写字母。它忽略空格和换行,因为它们来自复制粘贴。Base32 的填充是可选的。第3.5节允许解码器这样做:若 Base32 文本的最后一个字符所含的填充位不为零,本页也会拒绝。

计算示例:Base32 编码 foobar

文本 foobar 为六个字节。Base32 把它写成16个字符,即 MZXW6YTBOI 加六个 = 号,这与 RFC 4648 第10节给出的 BASE32("foobar") 结果一致。

下表是模式为“编码”时,本页对 foobar 以 Base32 显示的结果。

项目 foobar 的值
检查 已编码为 Base32。
结果 MZXW6YTBOI======
字节数 6
字符数 16

常见问题

Base32 是一种加密吗?

不是。Base32 只是用另一套字母表写出同样的字节。任何人都无需密钥即可解码,因此它不隐藏任何内容,不应用来保护数据。

为什么 Base58 不含0、O、I 和 l?

本页所用的比特币字母表去掉了许多字体中容易混淆的字符,因此手工抄写的数值较不容易被误读。该字母表可在比特币核心的源代码中找到。

为什么我的 Z85 文本被拒绝?

Z85 每次编码四个字节,因此数据必须是四个字节的倍数。解码时,文本必须是五个字符的倍数,并且每个字符都须在 Z85 字母表中。缺少或多出一个字符通常是原因。

为什么显示的是十六进制而不是文本?

解码得到的字节不是有效的 UTF-8 文本。如果把它们当作文本显示,会丢失或改变一些字节,因此页面会以十六进制显示每一个字节。

Ascii85 与 Base85 是一回事吗?

Ascii85 是 base 85 的一个版本,使用 ! 至 u 的字符和 z 的简写。Z85 是另一种由 Ascii85 衍生的 base 85,它使用在源代码中安全的不同字母表。

我输入的文本会被发送到别处吗?

不会。编码和解码都在您的浏览器中进行,您输入的任何内容都不会发送到我们的服务器,也不会保存在那里。

资料来源

数据和文字最近核对于2026年11月10日星期二。

我们使用必要的 Cookie 来运行网站。经您同意后,Google 还会使用广告 Cookie 展示个性化广告。如果您拒绝,仍会看到广告,但广告不会个性化。