我正在制作一个文本模式的游戏,显然我在C#中展示一些关键角色时遇到了一些问题。它们来自代码页CP437,但即使我将代码页设置为437:
Console.OutputEncoding = Encoding.GetEncoding(437);
当我尝试打印我需要的字符时,我唯一看到的是“????” (一些问号),好像Visual Studio的控制台无法打印它们。我需要的这些字符是0xB0,0xB1,0xB2,0xDB。
BTW,我在这个编码中打印了所有256个字符,我发现有更多的字符显示为“?”。
TIA。
答案 0 :(得分:2)
控制台的默认代码页已经是437.最可能的失败模式实际上是尝试写入0xb0等,而不是这些字符的Unicode版本。这确实会导致很多问号,U + 0080到U + 00ff范围内的许多代码点都是未分配的,或者在第437页中没有相应的字符。
代码页437中的0xb0在C#代码中是'\ u2591'。检查this page代码。