C# C语言中的扩展ASCII#

C# C语言中的扩展ASCII#,c#,character-encoding,ascii,codepages,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()); } } 我想知道如何在某种集合

我想将一些扩展的ascii字符存储到字典中进行查找,但在获取转换方面没有什么问题

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

现行方法:

private static void LoadAnsiTable()
{
    for (byte i = 0x20; i < 0xFE; i++)
    {
      AnsiLookup.Add(i, Convert.ToChar(i).ToString());
    }
}
我想知道如何在某种集合中捕获这些符号,而不必手动添加它们?

我假设您的“扩展ASCII”实际上是:

Encoding cp437=Encoding.GetEncoding(437);
字节[]源=新字节[1];
用于(字节i=0x20;i<0xFE;i++)
{
来源[0]=i;
Add(i,cp437.GetString(源));
}

请注意,.NET Framework本机不支持此代码页,因此它可能不会在所有系统上都可用。

“扩展ASCII”不是任何单一编码。这是一个令人烦恼的模棱两可的术语。不幸的是,asciitable.com实际上并没有说明它使用的是哪种编码。实际上有什么简单的方法可以找到.net中哪些编码是ascii兼容的吗?@nyrguds:Yes;参见@Douglas yea,取而代之的是Find。它解决了我的问题:)有效,完美。
AnsiLookup.Add(0xB0, "░");
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));
}