我能够正确显示标准的ASCII符号(最多127个),如"heart","note",你知道我的意思.我还想展示一些我可以用来绘制墙壁的东西(比如U0205),但是它不起作用.但是,它有效,但它看起来像"?".我怎么能显示它们?谢谢.
控制台模式应用程序仅限于8位代码页编码.许多机器上的默认设置是IBM437,这是与旧的IBM PC字符集匹配的代码页.您可以通过分配OutputEncoding属性来更改代码页:
Console.OutputEncoding = Encoding.UTF8;
但现在您通常遇到字体问题.控制台默认为终端字体,这是一种旧设备字体,在正确的位置具有字形以生成IBM PC字符集.没有很多字体可以生成与Unicode代码点匹配的正确字形.Consolas是关于它的,可以在Vista和Win7上使用.
但那不是你要问的,我想,我猜你实际上是在问老盒子的人物.这可以在没有任何修改控制台设置的情况下工作,您只需使用正确的Unicode字符.这是一个应该存在复制粘贴的例子:
class Program { static void Main(string[] args) { Console.WriteLine("??????????"); Console.WriteLine("? Hello ?"); Console.WriteLine("? world ?"); Console.WriteLine("??????????"); Console.ReadLine(); } }
要查找这些字符,请使用Windows charmap.exe小程序.单击"高级视图"复选框并在"搜索"文本框中键入"框",网格将填充框图字符.第一个可以正确转换为控制台的是'\ u250c'.