Những loại mã hóa nào mà các tác phẩm nghệ thuật ANSI này sử dụng?


12

Tôi đã tìm thấy trang web này ; nó có các tệp zip (liên kết trên trang chính ) với tất cả các tác phẩm nghệ thuật. Một số trong số chúng có .ansphần mở rộng và chúng trông giống như mã thoát ANSI được sử dụng trên Linux / Unix, nhưng khi tôi mở một trong số chúng bằng cách sử dụng cattrong thiết bị đầu cuối XFce thì nó tạo ra rác (nhưng có màu). Chúng không giống như bộ sưu tập hình ảnh.

Dòng đầu tiên của tác phẩm nghệ thuật chính từ liên kết trông như thế này (được sao chép từ Emacs):

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

Loại tệp là DOS, nhưng chúng có thể được tạo trên Windows.

Khi tìm kiếm nghệ thuật ANSI, tôi cũng tìm thấy trang web này có các tệp zip chỉ chứa các tệp có .ansphần mở rộng và chúng cũng không hiển thị đúng trên Linux (bộ sưu tập trên trang 2).

Câu hỏi của tôi là:

  • Đây là loại mã hóa gì, cho máy tính gì?
  • Tôi có cần một người xem đặc biệt để xem nó trên thiết bị đầu cuối Linux không?
  • Bạn có biết loại tác phẩm nghệ thuật này đã được tạo cho các thiết bị đầu cuối Linux / Unix không? Tôi chỉ tìm thấy nghệ thuật ASCII.
  • có thể chuyển đổi nó để được xem trên các thiết bị đầu cuối Linux không?

1
Phần dữ liệu không phải là UTF-8: nếu bạn biết nó đã sử dụng mã hóa nào, bạn có thể sử dụng recodehoặc iconvdịch nó. Hoặc (biết mã hóa), bạn có thể sử dụng luitđể dịch nó, sử dụng catđể hiển thị. Biết mã hóa có lẽ là một cái gì đó cho diễn đàn siêu người dùng , không phải chủ đề ở đây.
Thomas Dickey

Câu trả lời:


30

Đây là các mã thoát ANSI, nhưng bạn đang gặp phải ba vấn đề:

  • như mã hóa ký tự, như bạn nghi ngờ - hầu hết các tệp này đều nằm trong CP437, vì vậy bạn cần chuyển đổi chúng:

    iconv -f CP437
    

    (sử dụng -ttùy chọn nếu bạn cần chỉ định mã hóa đích; theo mặc định iconvsẽ khớp với mã hóa ký tự của miền địa phương hiện tại);

  • bảng màu - các tệp này thường giả định một cái gì đó tương tự như bảng màu CGA / EGA / VGA được sử dụng trên PC; Các trình giả lập thiết bị đầu cuối thường cho phép bạn chọn một bảng màu (hoặc xác định lại màu theo cách thủ công), ví dụ: Gnome Terminal có sơ đồ tích hợp sẵn của Linux Linux, hoạt động tốt cho nghệ thuật ANSI;

  • kích thước màn hình - hầu hết nghệ thuật ANSI giả định chiều rộng màn hình là 80 cột và dự kiến ​​sẽ bao quanh đó.

Khi bạn sửa tất cả những thứ đó, bạn không cần một người xem đặc biệt; đây là một ảnh chụp màn hình hiển thị đầu ra của aa-neurodancer.ansTerminal Gnome, sau khi chuyển đổi mã hóa ký tự:

Nghệ thuật ANSI cho thấy một đầu người với kính

Phần dưới của ảnh chụp màn hình hiển thị bản ghi SAUCE của tệp :

  • SAUCE phiên bản 00
  • tựa đề: Neurodancer
  • tác giả: người Ante vô thần
  • ngày: 13 tháng 8 năm 2018
  • kích thước tệp: 0x1A65, 6757 byte
  • kiểu dữ liệu: ký tự
  • loại tệp: ANSi
  • chiều rộng: 80
  • chiều cao: 23
  • phông chữ: VGA của IBM

( Ansilove có thể giải mã các bản ghi SAUCE cho bạn.)


Chỉ thấy rằng 128 byte cuối cùng của tệp ANSI có thể chứa dữ liệu meta như số lượng ký tự trên mỗi dòng. Xem thông số kỹ thuật SAUSE để biết chi tiết.
jcubic

Ah tốt đẹp, điều đó giải thích dưới cùng của ảnh chụp màn hình!
Stephen Kitt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.