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所说,确保您的控制台编码能够解码所提到的字符。首先告诉我们您希望输出的内容,然后尝试将输出设置为ASCIIconsole.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,这是获得真正复古外观的唯一方法:)