Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#控制台和x2B;统一码_C#_.net_Unicode_Utf 8_Console - Fatal编程技术网

C#控制台和x2B;统一码

C#控制台和x2B;统一码,c#,.net,unicode,utf-8,console,C#,.net,Unicode,Utf 8,Console,首先,Console.outputeneCoding没有帮助。所以我继续,选择一些符号并尝试输出一些东西。但只生成了??。我错在哪里 using System; using System.Text; namespace Test { class Program { static void Main() { Console.OutputEncoding = Console.InputEncoding = Encoding.U

首先,
Console.outputeneCoding
没有帮助。所以我继续,选择一些符号并尝试输出一些东西。但只生成了
??
。我错在哪里

using System;
using System.Text;

namespace Test
{
    class Program
    {
        static void Main()
        {
            Console.OutputEncoding = Console.InputEncoding = Encoding.Unicode;
            string s = "\u2654\u2657";
            Console.WriteLine(s);
            Console.ReadKey();
        }
    }
}

控制台窗口中的默认字体不是Unicode字体。您必须将其更改为Unicode字体,如Lucida Console或ConsoleAs,以便它可以在常规8位代码页之外显示字符

参考:

备注如下:

请注意,成功地将Unicode字符显示到控制台 要求:

  • 控制台必须使用TrueType字体(如Lucida console或ConsoleAs)来显示字符

  • 控制台使用的字体必须定义要显示的特定字形。控制台可以利用字体链接 如果基本字体不包含,则显示链接字体的图示符 该标志符号的定义


尝试在
http://www.compileonline.com/compile_csharp_online.php
,正如@Guffa所说,确保您的控制台编码能够解码所提到的字符。

首先告诉我们您希望输出的内容,然后尝试将输出设置为ASCII
console.outpuneCoding=System.Text.encoding.Unicode
似乎很难找到适合该字符的单间距字体控制台窗口,该窗口提供代码示例中Unicode代码点的图示符。Lucida Console、Consoleas和Courier New都不做…:(我想知道是否将这些值存储在文本文件中,然后用必要的编码对其进行流式处理也会有帮助help@DJKRAZE我期望得到与winform textbox等相同的结果。我认为console应用程序具有完全的unicode支持。这是我期望得到的。console使用Unix遗留版本,只能支持8位编码(因为I/O重定向)和固定倾斜字体(因为终端模拟)。交叉点很小,Windows上没有固定间距的字体具有象棋符号。在如今实现真正的GUI应用程序非常容易的情况下,追求这一点没有多大意义。当然,真正的控制台应用程序使用K和Q,这是获得真正复古外观的唯一方法:)