c# - C# 中的扩展 ASCII

标签 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 及之后没有 ░ ▒ ↓ │ ┤╡ ╢ 等它只有这些时髦的字母。

看这张表http://www.asciitable.com/供引用。

如果我手动添加它就可以了,

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

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

最佳答案

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

关于c# - C# 中的扩展 ASCII,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17619279/

相关文章:

c# - 报表查看器控件将内容导出为 pdf

c# - 在 C# 中,通过类(class)成员之一搜索类(class)列表的最佳方式是什么?

tomcat - JDBC Resource Pool with Tomcat6 on Centos5.5 和utf8问题

string - 在 HTTP 请求的上下文中,一个 255 字节的字符串有多长?

C# CNTK Sparse(和其他)使用 MinibatchSource

http - 解析 HTTP header - 编码问题

.net - 如何将 UTF-8 编码为 UTF-16 的 xml 字符串转换为 UTF-16?

assembly - 在 x86 汇编中将 ASCII 转换为二进制的最有效方法

java - Java 中的 Base64 Ascii 编码

javascript - 使用 Chart.js 创建图表 使用 C# 字符串会导致问题