这些 ANSI 艺术品使用什么类型的编码?

这些 ANSI 艺术品使用什么类型的编码?

我发现了这个网站;它有 zip 文件(链接在主页)与所有艺术品。其中一些有.ans扩展名,看起来像 Linux/Unix 上使用的 ANSI 转义码,但是当我cat在 XFce 终端中使用其中一个打开它们时,它会产生垃圾(但是彩色的)。它们看起来不像图片库。

链接中主要艺术作品的第一行如下所示(从 Emacs 复制):

[0;1m[30mthere is no substitute [0;33mÜܲ[1;43m°±²²[40mÛ[43mÛ²±[0;33mÝ ßÜ[1;43m²²²[40mÛÛ²[40m[K

文件类型是DOS,但它们可以在Windows 上创建。

在搜索 ANSI 艺术时我还发现这个网站其 zip 文件仅包含带有.ans扩展名的文件,并且它们也无法在 Linux 上正确呈现(第 2 页上的图库)。

我的问题是:

  • 这是什么类型的编码,适用于什么计算机?
  • 我需要特殊的查看器才能在 Linux 终端上查看它吗?
  • 你知道这种类型的艺术作品是为 Linux/Unix 终端创建的吗?我只找到了 ASCII 艺术。
  • 是否可以将其转换为在 Linux 终端上查看?

答案1

这些是 ANSI 转义码,但您遇到了三个问题:

  • 字符编码,正如您所怀疑的 - 大多数文件都在 CP437 中,因此您需要转换它们:

    iconv -f CP437
    

    -t如果需要指定目标编码,请使用该选项;默认情况下iconv将匹配当前语言环境的字符编码);

  • 颜色方案 — 这些文件通常采用与 PC 上使用的 CGA/EGA/VGA 颜色方案类似的内容;终端模拟器通常允许您选择颜色方案(或手动重新定义颜色),例如 GNOME 终端有一个“Linux 控制台”内置方案,非常适合 ANSI 艺术;

  • 屏幕尺寸——大多数 ANSI 艺术假定屏幕宽度为 80 列,并期望围绕该宽度进行环绕。

一旦你解决了所有这些问题,你就不需要特殊的查看器了;下面的屏幕截图显示了aa-neurodancer.ans转换字符编码后 GNOME 终端的输出:

ANSI 艺术作品展示了戴着眼镜的人头

屏幕截图的底部显示了文件的酱记录:

  • 酱料版本00
  • 作品名称:《神经舞者》
  • 作者:《坐立不安的无神论者》
  • 日期:2018年8月13日
  • 文件大小:0x1A65,6757 字节
  • 数据类型:字符
  • 文件类型:ANSI
  • 宽度:80
  • 身高:23
  • 字体:IBM VGA

安西洛夫可以为您解码SAUCE记录。)

相关内容