我是编程和自学的新手。我正在尝试输出Taurus的占星符号,它应该是Unicode中的U + 2649。这是我正在使用的代码...
string myString = "\u2649";
byte[] unicode = System.Text.Encoding.Unicode.GetBytes(myString);
Console.WriteLine(unicode.Length);
我得到的结果是数字2而不是符号或字体。我确定我做错了。
答案 0 :(得分:7)
您需要有一个显示该字形的字体。如果你这样做,那么:
Console.WriteLine(myString);
就是你所需要的一切。
编辑:注意,我能找到的唯一具有此字形的字体是“MS Reference Sans Serif”。
答案 1 :(得分:5)
为什么要将其转换为unicode,这不会做任何事情..失去转换并执行以下操作:
string a ="\u2649" ;
Console.write(a) ;
答案 2 :(得分:2)
Unicode字符的长度(以字节为单位) 2 ,您正在将Length
写入控制台。
Console.WriteLine(unicode.Length);
如果要显示实际角色,则需要:
Console.WriteLine(myString);
您必须使用具有该Unicode范围的字体才能正确显示。
<强>更新强>
使用默认控制台字体,上面的Console.WriteLine(myString)
会输出?
字符,因为没有\u2649
。到目前为止我用google搜索,没有简单的方法可以让控制台显示Unicode字符,这些字符不是系统代码页的一部分,也不是您为控制台选择的字体。
可以更改控制台使用的字体:Changing Console Fonts
答案 3 :(得分:1)
您正在输出字符的长度(以字节为单位)。然而,控制台不支持unicode输出,所以它会以“?”形式出现。字符。