Jenis pengkodean apa yang digunakan karya seni ANSI ini?

12

Saya telah menemukan situs web ini ; ini memiliki file zip (tautan di halaman utama ) dengan semua karya seni. Beberapa dari mereka memiliki .ansekstensi dan mereka terlihat seperti kode pelarian ANSI yang digunakan pada Linux / Unix, tetapi ketika saya membuka salah satu dari mereka menggunakan catdi terminal XFce itu menghasilkan sampah (tetapi dalam warna). Mereka tidak terlihat seperti galeri gambar.

Baris pertama karya seni utama dari tautan terlihat seperti ini (disalin dari Emacs):

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

Jenis file adalah DOS, tetapi mereka dapat dibuat di Windows.

Ketika mencari seni ANSI saya juga menemukan situs web ini yang memiliki file zip yang hanya berisi file dengan .ansekstensi dan mereka juga tidak membuat dengan benar di Linux (galeri di halaman 2).

Pertanyaan saya adalah:

  • apa jenis pengkodean ini, untuk komputer apa?
  • saya perlu pemirsa khusus untuk melihatnya di terminal Linux?
  • apakah Anda tahu jika jenis karya seni ini dibuat untuk terminal Linux / Unix? Saya hanya menemukan seni ASCII.
  • apakah mungkin untuk mengubahnya agar dapat dilihat di terminal Linux?
jcubic
sumber
1
Bagian data bukan UTF-8: jika Anda tahu pengkodean apa yang digunakan, Anda bisa menggunakan recodeatau iconvmenerjemahkannya. Atau (mengetahui penyandiannya), Anda dapat menggunakannya luituntuk menerjemahkannya, menggunakan catke tampilan. Mengetahui pengkodean mungkin sesuatu untuk forum superuser , bukan topik di sini.
Thomas Dickey

Jawaban:

30

Ini adalah kode pelarian ANSI, tetapi Anda mengalami tiga masalah:

  • pengkodean karakter, seperti yang Anda duga - sebagian besar file ini ada di CP437, jadi Anda perlu mengonversinya:

    iconv -f CP437
    

    (gunakan -topsi jika Anda perlu menentukan pengkodean target; secara default iconvakan cocok dengan pengkodean karakter lokal saat ini);

  • skema warna - file-file ini biasanya mengasumsikan sesuatu yang mirip dengan skema warna CGA / EGA / VGA yang digunakan pada PC; terminal emulator umumnya memungkinkan Anda untuk memilih skema warna (atau mendefinisikan ulang warna secara manual), misalnya Terminal GNOME memiliki skema bawaan “Linux console” yang bekerja dengan baik untuk seni ANSI;

  • ukuran layar - sebagian besar seni ANSI mengasumsikan lebar layar 80 kolom dan berharap untuk membungkus di sana.

Setelah Anda memperbaiki semua itu, Anda tidak perlu pemirsa khusus; inilah tangkapan layar yang memperlihatkan keluaran aa-neurodancer.ansdi Terminal GNOME, setelah mengonversi pengkodean karakter:

Seni ANSI menunjukkan kepala manusia dengan kacamata

Bagian bawah tangkapan layar menunjukkan catatan SAUCE file :

  • SAUCE versi 00
  • judul: "Neurodancer"
  • penulis: "Atheist Antsy"
  • tanggal: 13 Agustus 2018
  • ukuran file: 0x1A65, 6757 byte
  • tipe data: karakter
  • jenis file: ANSi
  • lebar: 80
  • tinggi: 23
  • jenis huruf: IBM VGA

( Ansilove dapat menerjemahkan kode SAUCE untuk Anda.)

Stephen Kitt
sumber
Baru ditemukan bahwa 128 byte terakhir file ANSI dapat berisi data meta seperti jumlah karakter per baris. Lihat spesifikasi SAUSE untuk detailnya.
jcubic
Ah bagus, itu menjelaskan bagian bawah tangkapan layar!
Stephen Kitt