3

拡張ASCII文字の一部をルックアップ用の辞書に保存したいのですが、変換の取得にはほとんど問題がありません。

これらの文字を格納するために必要な現在の方法は、0x20 から 0xAF までのすべての非グラフィカルな ascii 文字に対して機能します。

現在の方法:

private static void LoadAnsiTable()
{
    for (byte i = 0x20; i < 0xFE; i++)
    {
      AnsiLookup.Add(i, Convert.ToChar(i).ToString());
    }
}

しかし、0xAF 以降には ░ ▒ ▓ │ ┤╡ ╢ などはありません。これらのファンキーな文字が含まれているだけです。

この表http://www.asciitable.com/を参照してください。

これは、手動で追加すると機能しますが、

AnsiLookup.Add(0xB0, "░");

これらのシンボルを手動ですべて追加することなく、ある種のコレクションにキャプチャする方法を知りたいですか?

4

1 に答える 1

9

あなたの「拡張ASCII」は実際にはコードページ 437だと思います:

Encoding cp437 = Encoding.GetEncoding(437);
byte[] source = new byte[1];
for (byte i = 0x20; i < 0xFE; i++)
{
    source[0] = i;
    AnsiLookup.Add(i, cp437.GetString(source));
}

このコード ページは .NET Framework でネイティブにサポートされていないため、すべてのシステムで使用できるとは限らないことに注意してください。

于 2013-07-12T16:21:47.573 に答える