2

我一个人从书本上学习。书中说我可以使用Unicode表中的所有符号(尽管解释得不是很好)。但不知何故我做不到。这是我测试的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;
            char a = '\u2605';
            Console.WriteLine(a);
        }
    }
}

代码应该打印一个星号,但输出是

“E”

你能告诉我如何毫无问题地使用表格中的任何符号吗?

4

2 回答 2

3

您正在寻找的是Unicode编码:

Console.OutputEncoding = System.Text.Encoding.Unicode;

如前所述,它仅在控制台支持 Unicode 时才有效。此外,使用的字体还需要支持 Unicode 字符才能显示它们。例如,Lucida Console不支持,但确实支持其他字符U+2605

Console.OutputEncoding = System.Text.Encoding.Unicode;
char a = '\u2191';
Console.WriteLine(a);

上面的代码将使用ConsolasLucida ConsoleRaster Fonts.

于 2013-11-09T16:32:39.567 回答
-4

我很确定你需要先将你的字符转换为字符串,试试

Console.WriteLine(a.ToString());
于 2013-11-09T16:33:25.883 回答