【问题标题】:Extended ASCII in C#C# 中的扩展 ASCII
【发布时间】:2013-07-12 16:10:52
【问题描述】:

我想将一些扩展的 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, "░");

我想知道如何在某种集合中捕获这些符号,而无需手动添加它们?

【问题讨论】:

  • “扩展 ASCII”不是任何一种单一的编码。这是一个令人讨厌的模棱两可的术语。不幸的是 asciitable.com 实际上并没有说明它使用的是哪种编码。

标签: c# character-encoding ascii codepages


【解决方案1】:

我假设您的“扩展 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 本身并不支持此代码页,因此它可能不适用于所有系统。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-31
  • 1970-01-01
  • 2015-05-15
相关资源
最近更新 更多