我是学习Unicode的新手,不确定我必须根据ASCII背景学习多少,但是我正在阅读 标识符规则的C#规格 确定允许哪些字符 Azure表 (直接基于C#规格)。

我在哪里可以找到属于这些类别的Unicode字符列表:

  • letter-character: :LU,LL,LT,LM,LO或NL类的Unicode字符
  • combining-character: :类MN或MC的Unicode特征
  • decimal-digit-character: :类ND的Unicode字符
  • connecting-character: :类PC的Unicode字符
  • formatting-character: :类CF的Unicode字符
有帮助吗?

解决方案

您可以从官方Unicode数据文件中以自动方式检索此信息, UnicodeData.txt, ,在这里发布:

这是每个行中具有半分离值的文件。第三列告诉您每个字符的字符类。

这样做的好处是,您可以为每个角色获得角色名称,因此您比仅查看角色本身更好地了解它是什么(例如,您知道什么是ბ吗?这是对的,这是禁令。格鲁吉亚人。 :-))

其他提示

fileformat.info有一个类别的Unicode字符列表:

http://www.fileformat.info/info/unicode/category/index.htm

当然,您可以使用Linq:

var charInfo = Enumerable.Range(0, 0x110000)
                         .Where(x => x < 0x00d800 || x > 0x00dfff)
                         .Select(char.ConvertFromUtf32)
                         .GroupBy(s => char.GetUnicodeCategory(s, 0))
                         .ToDictionary(g => g.Key);

foreach (var ch in charInfo[UnicodeCategory.LowercaseLetter])
{
    Console.Write(ch);
}

您可以在 MSDN, ,例如,“ ll”是缩短的 UnicodeCategory.lowerCaseletter.

在里面 Antlr Lexer 您可以以方便的范围格式找到Unicode字符集(LU,LL,LT,LM和LO)。

https://www.compart.com/en/unicode/category 是一个非常有用且易于浏览的网站,用于浏览类别。它是可搜索的,并列出了有关单个Unicode字符的大量信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top