尝试写入特殊字符时控制台输出格式问题

Console Output Format Problem when trying to write special characters

我写了一个代码,写了一些特殊字符,但是当我 运行 它时,我得到了很多问号(?)

代码如下:

        Console.WriteLine("");
        Console.Write(" ⌜ ", Color.FromArgb(51, 204, 255));
        Console.Write("ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ ", Color.FromArgb(128, 128, 128));
        Console.Write("⌝", Color.FromArgb(51, 204, 255));

输出编码可以是 ASCII。

您可以尝试在Console.WriteLine

之前设置为UTF8
Console.OutputEncoding = System.Text.Encoding.UTF8;

字体也可能是问题所在,在某些情况下,您需要安装对所需语言的支持,例如韩语。如果更改编码对您不起作用,您也可以在互联网上查看。

我认为您最好的选择可能是忘记那些旧的“扩展”ASCII 字符并使用 Unicode equivalents。这是打印它们的示例:

Console.OutputEncoding = System.Text.Encoding.Unicode;
Console.Write("     ");
for (int col = 0; col < 16; col++)
{
    Console.Write(" {0:X}", col);
}
Console.WriteLine();
for (int row = 0x2500; row <= 0x2570; row += 16)
{
    Console.Write("{0:X}", row);
    for (int col = 0; col < 16; col++)
    {
        Console.Write(" {0}", Char.ConvertFromUtf32(row + col));
    }
    Console.WriteLine("\r\n");
}

这输出:

     0 1 2 3 4 5 6 7 8 9 A B C D E F
2500 ─ ━ │ ┃ ┄ ┅ ┆ ┇ ┈ ┉ ┊ ┋ ┌ ┍ ┎ ┏

2510 ┐ ┑ ┒ ┓ └ ┕ ┖ ┗ ┘ ┙ ┚ ┛ ├ ┝ ┞ ┟

2520 ┠ ┡ ┢ ┣ ┤ ┥ ┦ ┧ ┨ ┩ ┪ ┫ ┬ ┭ ┮ ┯

2530 ┰ ┱ ┲ ┳ ┴ ┵ ┶ ┷ ┸ ┹ ┺ ┻ ┼ ┽ ┾ ┿

2540 ╀ ╁ ╂ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊ ╋ ╌ ╍ ╎ ╏

2550 ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ ╟

2560 ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ ╭ ╮ ╯

2570 ╰ ╱ ╲ ╳ ╴ ╵ ╶ ╷ ╸ ╹ ╺ ╻ ╼ ╽ ╾ ╿

这是我的 Windows 10 框的屏幕截图: