我在哪里可以从课堂上获取Unicode Chars的列表?
-
04-10-2019 - |
题
我是学习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字符列表:
当然,您可以使用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字符的大量信息。
不隶属于 StackOverflow