如何在C#控制台应用程序中使用扩展ASCII字符

3

我似乎找不到一个通用的解释来说明如何使用扩展ASCII字符。我特别想在我的Roguelike游戏中使用不同的管道变体来制作小地图。

    static Encoding e = Encoding.GetEncoding("iso-8859-1");
    string shown = e.GetString(new byte[] { 185 });

这段代码显示的是“1”,尽管所有扩展ASCII表都显示管道应该朝着顶部、左侧和底部方向。请帮忙解决!

1
你能附上结果的截图吗? - Chayim Friedman
2
看到ISO_8859-1,185d (0xB9) 实际上是符号¹。所以你的输出是我所期望的。 - Rev
1
您也可以直接将它们硬编码:Console.WriteLine("╔═╗"); Console.WriteLine("╚═╝"); 这样代码就更易于阅读。或者如果更容易的话,可以使用常量:private const char TopLeft = '╔'; - Rufus L
还可以查看:https://dev59.com/QGQm5IYBdhLWcg3wwxPF - Rufus L
谢谢Rufus L!只需将维基页面上的字符复制并粘贴到我的程序中,问题就解决了! - Christian Swierc
1个回答

0

您应该更改您的Console.OutputEncoding

Encoding e = Encoding.GetEncoding("iso-8859-1");
Console.OutputEncoding = e;

那么Console.WriteLine(shown);应该显示期望的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接