当前位置:  开发笔记 > 编程语言 > 正文

Console.Write() - 显示扩展的ascii字符?

如何解决《Console.Write()-显示扩展的ascii字符?》经验,为你挑选了1个好方法。

我能够正确显示标准的ASCII符号(最多127个),如"heart","note",你知道我的意思.我还想展示一些我可以用来绘制墙壁的东西(比如U0205),但是它不起作用.但是,它有效,但它看起来像"?".我怎么能显示它们?谢谢.



1> Hans Passant..:

控制台模式应用程序仅限于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'.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有