Ascii85 / Base85 编码器与解码器
在浏览器中编码和解码 Ascii85 与 Z85 Base85。你的文本始终留在本机设备上。
Ascii85 / Base85 编码器 / 解码器完全在浏览器中运行。你编码或解码的文本和 Base85 字符串永远不会离开你的设备,也不会上传到 ArrayKit。
打开 Base64 编码器 / 解码器
关于 Ascii85 / Base85
Ascii85 / Base85 编码器 / 解码器可将 UTF-8 文本转换为 Ascii85 或 Z85,也能把这两种格式还原为可读文本。Ascii85(PDF 和 PostScript 使用的 Adobe/btoa 变体)将每 4 个字节打包成 5 个可打印字符,范围从 '!' 到 'u',连续 4 个零字节可以缩写为单个 'z' 字符以缩短输出。Z85 是 ZeroMQ 变体,拥有自己的 85 字符字母表,编码时要求字节长度为 4 的倍数,解码时要求文本长度为 5 的倍数。通过 Segmented 控件可以在两种变体之间、以及 Encode 与 Decode 之间切换,当字符超出字母表范围或长度不合法时,工具会准确指出问题所在。当你需要检查 PDF 数据流、处理 ZeroMQ 消息帧,或将 Base85 输出与 Base64 进行比较时,这个工具非常实用。一切都在本地完成——你粘贴的文本永远不会离开浏览器。
功能特性
- 将 UTF-8 文本编码为 Ascii85(Adobe/btoa 风格,不带 <~ ~> 包裹符)或 Z85
- 将 Ascii85 或 Z85 解码回原始文本
- 使用 Segmented 控件在 Ascii85 和 Z85 字母表之间切换
- Ascii85 解码可容忍空白字符和可选的 <~ ~> 包裹符
- 识别代表连续 4 个零字节的 'z' 简写
- 当 Z85 长度不是 4 或 5 的倍数时显示明确的错误提示
- 当出现所选字母表之外的字符时显示明确的错误提示
- 完全在浏览器中运行,不会将任何文本发送到任何地方
如何使用 Ascii85 / Base85
- 在变体切换器中选择 Ascii85 或 Z85
- 保持 Encode 标签处于选中状态,输入或粘贴文本
- 使用复制按钮复制 Base85 输出
- 切换到 Decode,粘贴 Base85 字符串以还原文本
示例
输入
Hello
输出
87cURDZ
"Hello" 在 Ascii85 中编码为 "87cURDZ"。
常见错误与故障排除
- Z85 解码显示 'requires input length to be a multiple of 5 characters.' — Z85 始终以 5 个字符为一组。请确认已复制完整的 Z85 字符串,没有被截断或多出多余字符。
- Z85 编码显示 'requires input length to be a multiple of 4 bytes.' — 与 Ascii85 不同,Z85 不会对部分分组进行填充。请将字节数编码为 4 的倍数,或改用 Ascii85 以支持任意长度。
- Ascii85 解码显示 'Invalid Ascii85 character.' — Ascii85 只使用 '!' 到 'u' 的可打印字符范围。粘贴了 Z85 或 Base64 字符串,或混入了多余符号,都会触发此错误——请切换变体或重新复制来源文本。
- 解码后的文本看起来像乱码字节而不是单词。 — 原始数据可能是原始二进制数据而非 UTF-8 文本,因此即使解码本身成功,也不会显示为可读字符。
常见问题
- 在这个 Base85 编码器中,Ascii85 和 Z85 有什么区别?
- Ascii85 是 PDF 和 PostScript 使用的 Adobe/btoa 变体,使用 '!' 到 'u' 的字符,并允许连续 4 个零字节缩写为单个 'z'。Z85 是拥有自己字母表的 ZeroMQ 变体,不支持 'z' 简写,也不支持部分分组填充。
- Ascii85 / Base85 编码器会添加 <~ 和 ~> 包裹符吗?
- 不会,编码结果是不带 Adobe <~ ~> 分隔符的原始 Ascii85 字符串。Decode 模式仍会识别并去除输入中包含的包裹符。
- 为什么同样风格的 Ascii85 解码能成功,而 Z85 解码却会失败?
- Z85 要求编码后的文本长度恰好是 5 的倍数,没有针对部分分组的填充机制。而 Ascii85 会在内部对较短的最后一组进行填充,因此能容忍 Z85 会拒绝的长度。
- 使用这个 Base85 工具编码时,文本是按 UTF-8 处理的吗?
- 是的。你输入的任何文本在进行 Base85 编码前都会转换为 UTF-8 字节,解码后的字节也会重新按 UTF-8 解释,因此带重音符号的字母和表情符号都能正确地来回转换。
- 编码或解码 Ascii85 或 Z85 时,我的文本会被上传吗?
- 不会。Ascii85 / Base85 编码器 / 解码器完全在浏览器中运行。你粘贴的文本和 Base85 字符串始终留在你的设备上,不会上传到 ArrayKit。
- 解码 Ascii85 时,'z' 简写代表什么?
- 单个 'z' 字符代表连续 4 个零字节的分组。解码器会自动将每个 'z' 展开为这 4 个零字节,你无需手动处理。
相关工具
全部 ArrayKit 工具