¿Qué tipo de codificación utilizan estas obras de arte ANSI?

12

He encontrado este sitio web ; Tiene archivos zip (enlaces en la página principal ) con todas las obras de arte. Algunos de ellos tienen una .ansextensión y se parecen a los códigos de escape ANSI utilizados en Linux / Unix, pero cuando abro uno de ellos usando catel terminal XFce produce basura (pero en color). No se parecen a la galería de imágenes.

La primera línea de la obra principal del enlace se ve así (copiada de Emacs):

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

El tipo de archivo es DOS, pero solo se pueden crear en Windows.

Al buscar arte ANSI también encontré este sitio web que tiene archivos zip que contienen solo archivos con una .ansextensión y que tampoco se procesan correctamente en Linux (galería en la página 2).

Mis preguntas son:

  • ¿Qué tipo de codificación es esta, para qué computadora?
  • ¿Necesito un visor especial para verlo en la terminal de Linux?
  • ¿Sabes si este tipo de arte fue creado para terminales Linux / Unix? Solo he encontrado arte ASCII.
  • ¿Es posible convertirlo para verlo en terminales Linux?
jcubic
fuente
1
La parte de datos no es UTF-8: si supiera qué codificación utiliza, podría usarla recodeo iconvtraducirla. O (conociendo la codificación), puede usarlo luitpara traducirlo, usando catla pantalla. Conocer la codificación es probablemente algo para el foro de superusuario , no tópico aquí.
Thomas Dickey

Respuestas:

30

Estos son códigos de escape ANSI, pero se encuentra con tres problemas:

  • la codificación de caracteres, como sospecha, la mayoría de estos archivos están en CP437, por lo que debe convertirlos:

    iconv -f CP437
    

    (use la -topción si necesita especificar la codificación de destino; de forma predeterminada iconvcoincidirá con la codificación de caracteres de la configuración regional actual);

  • la combinación de colores: estos archivos suelen asumir algo similar a la combinación de colores CGA / EGA / VGA utilizada en las PC; los emuladores de terminal generalmente le permiten elegir un esquema de color (o redefinir los colores manualmente), por ejemplo, GNOME Terminal tiene un esquema incorporado de "consola Linux" que funciona bien para el arte ANSI;

  • el tamaño de la pantalla: la mayoría de las ilustraciones de ANSI asumen un ancho de pantalla de 80 columnas y espera ajustarse por allí.

Una vez que arregle todo eso, no necesita un visor especial; Aquí hay una captura de pantalla que muestra la salida de aa-neurodancer.ansen el Terminal de GNOME, después de convertir la codificación de caracteres:

Arte ANSI que muestra una cabeza humana con gafas

La parte inferior de la captura de pantalla muestra el registro SAUCE del archivo :

  • SALSA versión 00
  • título: "Neurodancer"
  • autor: "Atento ateo"
  • fecha: 13 de agosto de 2018
  • tamaño de archivo: 0x1A65, 6757 bytes
  • tipo de datos: personaje
  • tipo de archivo: ANSi
  • ancho: 80
  • altura: 23
  • fuente: IBM VGA

( Ansilove puede decodificar registros SAUCE por usted).

Stephen Kitt
fuente
Acabo de descubrir que los últimos 128 bytes del archivo ANSI pueden contener metadatos como el número de caracteres por línea. Vea la especificación SAUSE para más detalles.
jcubic
Ah bueno, eso explica la parte inferior de la captura de pantalla!
Stephen Kitt el