C#中的扩展ASCII

时间:2013-07-12 16:10:53

标签: c# character-encoding ascii codepages

我想将一些扩展的ascii字符存储到字典中以便查找,但是获得转换几乎没有问题。

我必须存储这些字符的当前方法适用于所有非图形化的ascii字符0x20到0xAF。

目前的方法:

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

但是0xAF和on没有░▒▓┤╡╢等等它只是有这些时髦的字母。

查看此表http://www.asciitable.com/以供参考。

如果我手动添加它,

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

我想知道如何在不需要手动添加所有符号的情况下获取这些符号?

1 个答案:

答案 0 :(得分:6)

我假设您的“扩展ASCII”实际上是code page 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本身不支持此代码页,因此它可能并非在所有系统上都可用。