跳转到正文

Ascii85 至 Text 转换器

将文本编码为 Ascii85,或将 Ascii85 解码回文本。Ascii85 是 PostScript、PDF 流和 Git 二进制补丁中使用的 Base85 编码。该工具会将输入转换为 UTF-8 字节,每四个字节转换为五个 ! 到 u 之间的字符,将四个零字节写为 z,并可将结果包装在 Adobe 的 <~ 和 ~> 分隔符中。解码时支持这两种形式,并会忽略空白字符。

重置

常见问题

什么是 Ascii85?

Ascii85 也称为 Base85,可将二进制数据编码为可打印的 ASCII 字符。它将每 4 个字节转换为 5 个字符,范围从 ! (33) 到 u (117),因此数据只会增加 25%,而 Base64 会增加 33%。Adobe 在 PostScript 和 PDF 中使用它。

有哪些常见的 Ascii85 示例?

四个字符 Man 后跟一个空格会得到 9jqo^;Man is distinguished 会得到 9jqo^BlbD-BleB1DJ+*+F(f,q。文本 sure. 会得到 F*2M7/c。该工具会输出这些值,并能将它们解码还原。

字符 z 表示什么?

四个零字节组成的一组会写成单个 z,而不是 !!!!!。解码器会将 z 展开为四个零字节。z 只能出现在一组的开头。

<~ 和 ~> 分隔符是什么?

Adobe 格式使用 <~ 和 ~> 标记 Ascii85 数据的开头和结尾。编码时启用该选项即可添加分隔符。解码时,如果存在这些分隔符,工具会将其移除,因此两种格式都能处理。

最后一个不完整分组如何处理?

如果输入长度不是 4 的倍数,最后一组会用零字节填充后进行编码,然后只保留前 n 加 1 个字符。解码时会用 u 填充并丢弃多余字节,从而准确还原原始输入。

为什么我的输入被拒绝?

有效字符为 ! 到 u,以及 z。v 到 y 之类的字符、分组内的 z、末尾仅剩一个字符,或值超过 32 位的分组都无效。空白字符会被忽略。

它与 Z85 或 RFC 1924 Base85 相同吗?

不同。ZeroMQ 的 Z85 和 RFC 1924 使用不同的 85 字符字母表。此工具实现的是 Adobe 和 btoa 风格的 Ascii85,用于 PostScript、PDF 和 Python 的 base64.a85encode。

为什么解码时会报告 UTF-8 无效?

Ascii85 通常用于保存压缩的 PDF 流等二进制数据。该工具只显示有效的 UTF-8 解码文本;如果数据无效,则会报告错误,而不会打印无法读取的字节。

非 ASCII 字符如何编码?

文本会先转换为 UTF-8,因此带重音符号的字母和表情符号在编码前会分别变成多个字节。解码后会还原为相同的字符。

最多可以转换多少数据?

每次请求最多可处理 5 MiB 文本。转换在服务器上运行,输入不会被存储。

关于 OneClick Pro

OneClick Pro 是一个免费的工具集合,包含超过 150 种网络工具,助你处理日常工作:转换图像和单位、格式化和验证代码、检查域名和 SEO,以及处理文本、日期和数字。所有工具均可免注册、免订阅使用;你输入的内容仅用于计算结果,绝不会被存储。你可以将它用作处理临时任务的快捷工具箱,也可以收藏每天都会用到的工具。