如何在c#中生成特殊字符?

时间:2014-02-04 19:44:10

标签: c# unicode

在记事本中,当我输入alt + 216时,它会输出一个键盘上没有的字符。

我想知道如何在C#中使用此“alt + 219”字符来生成包含此特殊字符的字符串。

有没有办法检索这些特殊字符的列表?

我在插入选项卡和符号菜单中的Office 2012中看到了这些内容。 我想知道的是,是否可以使用标准的C#语法或其他东西生成所有这些?

示例:

对我来说,这些角色在编辑器中起作用非常有趣。

1 个答案:

答案 0 :(得分:4)

是的,您可以在C#中表示所有Unicode字符,包括字符串文字。没有像whole range of charts to look at那样的“特殊”字符列表。找到你感兴趣的角色是U + 256A,如the box drawing chart中所见(“BOX DRAW VERTICAL SINGLE AND HORIZONTAL DOUBLE”)。

您可以使用\u字符文字转义格式来表示C#代码中的字符:

string text = "This is your character: \u256a";

密钥在编辑器中工作的事实只是Windows键盘处理的一部分。

如果您在查找特定字符时遇到问题,可以使用UTF-8始终在记事本中保存文件,然后按以下方式阅读:

using System;
using System.IO;

class Test
{
    static void Main()
    {
        string text = File.ReadAllText("foo.txt");
        foreach (char c in text)
        {
            Console.WriteLine("{0} - {1:x4}", c, (int) c);
        }
    }
}

请注意,某些字符可能无法在控制台上正确显示(尽管十六进制表示将会显示)。