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


12

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

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

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

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

ANSIアートを検索したときに、拡張子を持つファイルのみを含むzipファイルがあり、Linuxでも適切にレンダリングされないこのWebサイトも見つけました.ans(2ページのギャラリー)。

私の質問は:

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

1
データ部分はUTF-8ではありません。使用するエンコードがわかっていれば、それを使用しrecodeたりiconv、変換したりできます。または(エンコードを知っている場合)、ディスプレイluitに使用catして、変換に使用できます。エンコーディングを知ることは、おそらくここでは話題ではなく、スーパーユーザーフォーラムにとって何かでしょう。
トーマスディッキー

回答:


30

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

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

    iconv -f CP437
    

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

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

  • 画面サイズ—ほとんどのANSIアートは、画面の幅を80カラムと想定し、そこに回り込むことを想定しています。

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

眼鏡で人間の頭を示すANSIアート

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

  • SAUCEバージョン00
  • タイトル:「ニューロダンサー」
  • 著者:「Antsy Atheist」
  • 日付:2018年8月13日
  • ファイルサイズ:0x1A65、6757バイト
  • データ型:文字
  • ファイルタイプ:ANSi
  • 幅:80
  • 高さ:23
  • フォント:IBM VGA

AnsiloveはあなたのためにSAUCEレコードをデコードできます。)


ANSIファイルの最後の128バイトに、1行あたりの文字数などのメタデータが含まれていることがわかりました。詳細については、SAUSE仕様を参照してください。
jcubic

ああ、スクリーンショットの下部を説明しています!
スティーブンキット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.