Jakiego rodzaju kodowania używają te dzieła ANSI?

12

Znalazłem tę stronę ; ma pliki zip (linki na stronie głównej ) ze wszystkimi dziełami sztuki. Niektóre z nich mają .ansrozszerzenie i wyglądają jak kody ucieczki ANSI używane w systemie Linux / Unix, ale kiedy otworzę jeden z nich za pomocą catterminala XFce, produkuje śmieci (ale w kolorze). Nie wyglądają jak galeria zdjęć.

Pierwsza linia głównej grafiki z linku wygląda następująco (skopiowana z Emacsa):

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

Typ pliku to DOS, ale można je po prostu utworzyć w systemie Windows.

Podczas wyszukiwania sztuki ANSI znalazłem również tę stronę internetową, która zawiera pliki zip zawierające tylko pliki z .ansrozszerzeniem i również nie renderują się poprawnie w systemie Linux (galeria na stronie 2).

Moje pytania to:

  • jaki to rodzaj kodowania dla jakiego komputera?
  • czy potrzebuję specjalnej przeglądarki, aby zobaczyć ją na terminalu Linux?
  • wiesz, czy ten rodzaj grafiki został stworzony dla terminali Linux / Unix? Znalazłem tylko sztukę ASCII.
  • czy można przekonwertować go na terminal Linux?
jcubic
źródło
1
Część danych nie jest UTF-8: jeśli wiesz, jakiego kodowania użyłeś, możesz go użyć recodelub iconvprzetłumaczyć. Lub (znając kodowanie), możesz użyć go luitdo przetłumaczenia, używając catdo wyświetlenia. Znajomość kodowania jest prawdopodobnie czymś na forum superużytkownika , nie jest tu aktualna.
Thomas Dickey,

Odpowiedzi:

30

Są to kody ucieczki ANSI, ale występują trzy problemy:

  • kodowanie znaków, jak podejrzewasz - większość tych plików jest w CP437, więc musisz je przekonwertować:

    iconv -f CP437
    

    (użyj tej -topcji, jeśli musisz określić kodowanie docelowe; domyślnie iconvbędzie pasować do kodowania znaków w bieżącym języku);

  • schemat kolorów - pliki te zwykle przyjmują coś podobnego do schematu kolorów CGA / EGA / VGA stosowanego na komputerach PC; emulatory terminali zazwyczaj pozwalają wybrać schemat kolorów (lub ręcznie przedefiniować kolory), na przykład GNOME Terminal ma wbudowany schemat „konsoli Linux”, który działa dobrze dla grafiki ANSI;

  • rozmiar ekranu - większość dzieł ANSI zakłada szerokość ekranu wynoszącą 80 kolumn i spodziewa się, że się tam zawinie.

Kiedy to wszystko naprawisz, nie potrzebujesz specjalnej przeglądarki; oto zrzut ekranu pokazujący dane wyjściowe aa-neurodancer.answ GNOME Terminal, po konwersji kodowania znaków:

Sztuka ANSI przedstawiająca ludzką głowę w okularach

Dolna część zrzutu ekranu pokazuje rekord SAUCE pliku :

  • SOS wersja 00
  • tytuł: „Neurodancer”
  • autor: „Antsy ateista”
  • data: 13 sierpnia 2018 r
  • rozmiar pliku: 0x1A65, 6757 bajtów
  • typ danych: znak
  • typ pliku: ANSi
  • szerokość: 80
  • wysokość: 23
  • czcionka: IBM VGA

( Ansilove może dekodować rekordy SAUCE dla Ciebie.)

Stephen Kitt
źródło
Właśnie odkryłem, że ostatnie 128 bajtów pliku ANSI może zawierać metadane, takie jak liczba znaków w wierszu. Szczegóły w specyfikacji SAUSE .
jcubic
Ach miło, to wyjaśnia dolną część zrzutu ekranu!
Stephen Kitt