Ascii85 编码/解码
将文本编码为 Ascii85(Base85),或把 Ascii85 解码回文本,支持 Adobe <~ ~> 包裹、零压缩 z 与 RFC 1924 IPv6 变体,全部在浏览器本地完成。
Ascii85(Base85)是什么?
Ascii85 是一种二进制转文本的编码,把每 4 个字节当作一个大端序的 85 进制数,写成 5 个可打印 ASCII 字符。它源于 btoa 工具并被 Adobe 采用,因此也叫 Base85 或 Ascii85。
Ascii85 实际用在哪里?
它内嵌于 PDF 和 PostScript 文件的图像与数据流中,被 Adobe 产品使用,也用于 Git 的二进制补丁,以及 RFC 1924 定义的 IPv6 特殊表示。一些证书和文档格式也接受它作为 Base64 的替代。
编码是怎么工作的?
数据按 4 字节一组处理。每组读作一个 32 位整数,用 ! 到 u 的字符按 85 进制写成 5 位数字。结尾不完整的组会先补齐再截断为「字节数+1」个字符,因此输出只比输入大约 25%,低于 Base64 的 33%。
z 快捷方式是做什么的?
在 Adobe 变体中,连续四个零字节编码为单个字符 z,而不是 !!!!!,能很好地压缩长串空字节。解码时必须拒绝出现在组中间的 z;而 RFC 1924 完全没有 z 压缩,因为 z 在它的字母表里是普通数字。
<~ 和 ~> 定界符是什么?
Adobe PostScript 用 <~ 和 ~> 把 Ascii85 数据包起来,方便解码器在文档中定位编码块。这里的包裹是可选的:关闭开关可得到裸字符串;解码时无论开关状态如何都能容忍定界符。
Base85 与 Base64 相比如何?
Base85 把 4 字节编成 5 个字符(膨胀 25%),Base64 把 3 字节编成 4 个字符(膨胀 33%),Ascii85 略更紧凑。代价是它的字母表包含引号、反斜杠和 & 等字符,在 JSON、XML、URL 和 shell 字符串里需要转义,那些场景用 Base64 更安全。
RFC 1924 变体是什么?
RFC 1924 定义了一套由 0-9、A-Z、a-z 和 23 个标点符号组成的 Base85 字母表,用于把 IPv6 地址表示为固定 20 字符的字符串。本工具也允许用这套字母表编码任意文本;它没有 z 快捷方式,也没有 <~ ~> 包裹。
我的文本会被上传吗?
不会。编码与解码全部由浏览器中的 JavaScript 在本地完成,粘贴的内容不会发送到任何服务器,可以放心处理机密内容。
解码时为什么提示字符串无效?
每个字符都必须属于所选字母表(Adobe:! 到 u 加 z;RFC 1924:自己的 85 个符号),每个完整组的值必须小于 2^32,剩下单独一个字符的组没有意义。任一问题都会中止转换并给出明确提示,而不是输出乱码。
如何使用Ascii85 编码/解码
Ascii85(Base85)把 4 个字节打包成 5 个可打印字符,比 Base64 紧凑约 25%。它用于 PDF 和 PostScript 文件中的图像与数据流、Git 二进制补丁以及特殊的 IPv6 表示法。本工具支持文本与 Ascii85 双向转换,兼容 Adobe btoa 风格(<~ ~> 包裹与零压缩 z)以及 RFC 1924 IPv6 字母表——全部在浏览器本地运行。
- 选择方向:文本 → Ascii85 为编码,Ascii85 → 文本为解码。
- 选择变体:Adobe (btoa) 使用 ! 到 u 的字符,提供可选的 <~ ~> 包裹(下方开关),并把四个零字节压缩为单个 z;RFC 1924 使用 0-9A-Za-z 加 23 个符号的 IPv6 字母表,没有 z 快捷方式。
- 在输入框中输入或粘贴内容——结果随输入实时更新。非法字符或损坏的分组会给出明确报错,而不是输出乱码。
- 用「交换」把输出移回输入框并反向转换,用「复制」把结果送入剪贴板。
解码时忽略空白字符,即使关闭包裹开关也能识别 <~ ~> 定界符——方便直接从 PDF 文件里复制数据流。
相关工具
- Base64 编码解码 免费在线Base64编码解码工具。即时将文本转换为Base64或将Base64转换为文本。无需上传到服务器,100%隐私保护,完全在浏览器中运行。
- Base32 编码解码器 即时将文本编码为Base32或将Base32解码为文本。100%浏览器本地处理,零数据上传。符合RFC 4648标准。适用于TOTP密钥、OTP密钥、二维码数据及二进制转文本转换。
- 十六进制转文本 即时将十六进制字符串转换为可读文本。支持多种格式,将十六进制值解码为ASCII或UTF-8文本。
- Hex文件查看器 以十六进制转储格式查看文件内容,支持搜索、偏移导航和虚拟滚动
- AES加密/解密 AES加密解密工具,支持CBC、CFB、CTR、OFB、ECB模式,Pkcs7/ZeroPadding/NoPadding填充,128/192/256位密钥,Base64输出,自动识别密钥/IV格式
- Brotli 压缩工具 免费在线 Brotli 压缩工具。以 0–11 级质量将文件压缩为 .br,或将 .br 解压还原。完全在浏览器本地运行——无需上传、无需安装。
- Zstd 压缩工具 免费在线 zstd 压缩工具。以 Zstandard 1–19 级压缩文件为 .zst,或将 .zst 解压还原。完全在浏览器本地运行——无需上传、无需安装。
- MessagePack 转换器 免费在线 MessagePack 转换工具。JSON 编码为 msgpack,msgpack 的 hex、base64 或 .bin 文件解码回可读 JSON,并显示压缩前后大小对比。数据不上传,浏览器本地完成。