在C#中输出Unicode字符

我是编程和自学的新手。 我正在尝试输出Taurus的占星符号,它应该是Unicode中的U + 2649。 这是我正在使用的代码……

string myString = "\u2649"; byte[] unicode = System.Text.Encoding.Unicode.GetBytes(myString); Console.WriteLine(unicode.Length); 

我得到的结果是数字2而不是符号或字体。 我确定我做错了什么。

您需要有一个显示该字形的字体。 如果你这样做,那么:

 Console.WriteLine(myString); 

是你所需要的全部。

编辑:注意,我能找到的唯一具有此字形的字体是“MS Reference Sans Serif”。

为什么要将它转换为unicode,这不会做任何事情..失去转换并执行以下操作:

 string a ="\u2649" ; Console.write(a) ; 

Unicode字符的长度(以字节为单位)为2 ,您将Length写入控制台。

 Console.WriteLine(unicode.Length); 

如果要显示实际字符,则需要:

 Console.WriteLine(myString); 

您必须使用具有该Unicode范围的字体才能正确显示。

更新:

使用默认的控制台字体,上面的Console.WriteLine(myString)会输出一个? 字符,因为没有\u2649 。 到目前为止我用google搜索,没有简单的方法可以让控制台显示Unicode字符,这些字符不是系统代码页的一部分,也不是您为控制台选择的字体。

可以更改控制台使用的字体 : 更改控制台字体

您正在输出字符的长度,以字节为单位。 然而,控制台不支持unicode输出,所以它会以“?”forms出现。 字符。