我似乎找不到一个通用的解释来说明如何使用扩展ASCII字符。我特别想在我的Roguelike游戏中使用不同的管道变体来制作小地图。
static Encoding e = Encoding.GetEncoding("iso-8859-1");
string shown = e.GetString(new byte[] { 185 });
这段代码显示的是“1”,尽管所有扩展ASCII表都显示管道应该朝着顶部、左侧和底部方向。请帮忙解决!
我似乎找不到一个通用的解释来说明如何使用扩展ASCII字符。我特别想在我的Roguelike游戏中使用不同的管道变体来制作小地图。
static Encoding e = Encoding.GetEncoding("iso-8859-1");
string shown = e.GetString(new byte[] { 185 });
您应该更改您的Console.OutputEncoding
:
Encoding e = Encoding.GetEncoding("iso-8859-1");
Console.OutputEncoding = e;
那么Console.WriteLine(shown);
应该显示期望的结果。
Console.WriteLine("╔═╗"); Console.WriteLine("╚═╝");
这样代码就更易于阅读。或者如果更容易的话,可以使用常量:private const char TopLeft = '╔';
- Rufus L