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

jcu*_*bic 14 linux ansi-term 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
Run Code Online (Sandbox Code Playgroud)

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

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

我的问题是:

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

Ste*_*itt 31

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

  • 字符编码,正如你所怀疑的——这些文件中的大多数都在 CP437 中,所以你需要转换它们:

    iconv -f CP437
    
    Run Code Online (Sandbox Code Playgroud)

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

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

  • 屏幕尺寸——大多数 ANSI 艺术假设屏幕宽度为 80 列,并希望在那里环绕。

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

ANSI 艺术展示了一个戴着眼镜的人头

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

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

Ansilove可以为您解码 SAUCE 记录。)