繁体   English   中英

在C#中输出Unicode字符

[英]Outputting a Unicode character in C#

我是编程和自学的新手。 我正在尝试输出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)将输出一个? 字符,因为没有\♉ 到目前为止,我还没有找到一种简单的方法来使控制台显示尚未包含在系统代码页或您为控制台选择的字体中的Unicode字符。

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

您正在输出字符的长度(以字节为单位)。 但是,控制台不支持unicode输出,因此它将以'?'的形式出现。 字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM