1

我正在制作一个文本模式游戏,显然我在用 C# 显示一些关键字符时遇到了一些问题。它们来自代码页 CP437,但即使我将代码页设置为 437:

Console.OutputEncoding = Encoding.GetEncoding(437);

当我尝试打印我需要的字符时,我唯一看到的是“??????” (一些问号),好像 Visual Studio 的控制台无法打印它们。我需要的这些字符是 0xB0、0xB1、0xB2、0xDB。

顺便说一句,我以这种编码打印了所有 256 个字符,我看到显示为“?”的字符要多得多。

TIA。

4

1 回答 1

2

控制台的默认代码页已经是 437。最可能的故障模式实际上是尝试写入 0xb0 等,而不是这些字符的 Unicode 版本。这确实会引起很多问号,U+0080 到 U+00ff 范围内的许多代码点未分配或在第 437 页中没有相应的字符。

代码页 437 中的 0xb0 在您的 C# 代码中是“\u2591”。检查此页面以获取代码。

于 2012-07-19T17:21:23.327 回答