这些ANSI艺术作品使用哪种编码类型?


12

我已经找到这个网站 ; 它包含所有艺术品的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
数据部分不是UTF-8:如果您知道它使用了什么编码,则可以使用recodeiconv翻译它。或者(知道编码),您可以使用luit它来翻译它,并cat显示到显示器上。对于超级用户论坛来说,了解编码可能是一些事情,这里不做主题。
Thomas Dickey '18

Answers:


30

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

  • 您可能会怀疑字符编码-这些文件大多数位于CP437中,因此您需要转换它们:

    iconv -f CP437
    

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

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

  • 屏幕尺寸-大多数ANSI艺术作品都假定屏幕宽度为80列,并希望在屏幕上环绕。

修复所有问题后,就不需要特殊的查看器了。这是截图,显示了aa-neurodancer.ans转换字符编码后GNOME Terminal中的输出:

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

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

  • SAUCE版本00
  • 标题:“神经舞者”
  • 作者:“无神论者”
  • 日期:2018年8月13日
  • 档案大小:0x1A65,6757位元组
  • 数据类型:字符
  • 文件类型:ANSi
  • 宽度:80
  • 高度:23
  • 字体:IBM VGA

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


刚发现ANSI文件的最后128个字节可能包含元数据,如每行字符数。有关详细信息,请参见SAUSE规范
jcubic

很好,这说明了屏幕截图的底部!
史蒂芬·基特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.