web-dev-qa-db-ja.com

これらのANSIアートワークはどのタイプのエンコーディングを使用しますか?

このウェブサイトを見つけました ;すべてのアートワークを含むZipファイル( へのリンク(メインページ ))があります。それらの一部には.ans拡張子があり、Linux/Unixで使用されるANSIエスケープコードのように見えますが、XFceターミナルでcatを使用してそれらの1つを開くと、ガベージ(ただしカラー)が生成されます。 。それらは画像ギャラリーのようには見えません。

リンクからのメインアートワークの最初の行は次のようになります(Emacsからコピー)。

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

ファイルタイプはDOSですが、Windowsで作成することもできます。

ANSIアートを検索すると、.ans拡張子の付いたファイルのみを含むZipファイルが含まれている このWebサイト も見つかりましたが、Linux(ギャラリーオンページ2)。

私の質問は:

  • これはどの種類のエンコーディングですか、どのコンピュータ用ですか?
  • linuxターミナルで表示するには特別なビューアが必要ですか?
  • このタイプのアートワークがLinux/Unix端末用に作成されたかどうかを知っていますか?私はASCIIアートのみを見つけました。
  • linux端末で表示できるように変換できますか?
12
jcubic

これらはANSIエスケープコードですが、次の3つの問題が発生しています。

  • ご想像のとおり、文字エンコード—これらのファイルのほとんどはCP437にあるため、変換する必要があります。

    iconv -f CP437
    

    (ターゲットエンコーディングを指定する必要がある場合は、-tオプションを使用します。デフォルトでは、iconvは現在のロケールの文字エンコーディングと一致します)。

  • 配色—これらのファイルは通常、PCで使用されるCGA/EGA/VGA配色と同様のものを想定しています。端末エミュレーターでは、通常、配色を選択(または手動で色を再定義)できます。たとえば、GNOME端末には「Linuxコンソール」が組み込まれており、ANSIアートに適しています。

  • 画面サイズ—ほとんどのANSIアートは80桁の画面幅を想定しており、そこで折り返されることを期待しています。

すべてを修正したら、特別なビューアは必要ありません。これは、文字エンコーディングを変換した後のGNOMEターミナルでのaa-neurodancer.ansの出力を示すスクリーンショットです。

ANSI art showing a human head with spectacles

スクリーンショットの下部は、ファイルの SAUCEレコード を示しています。

  • SAUCEバージョン00
  • タイトル:「Neurodancer」
  • 著者:「アントシー無神論者」
  • 日付:2018年8月13日
  • ファイルサイズ:0x1A65、6757バイト
  • データ型:文字
  • ファイルの種類:ANSi
  • 幅:80
  • 高さ:23
  • フォント:IBM VGA

Ansilove は、SAUCEレコードをデコードできます。)

30
Stephen Kitt