您可以在已发布的UnicodeData.txt(这是一个CSV格式的文件,列出每个带有组信息的字符)中访问Unicode字符的整个列表。
第三列以2位数字的缩写形式指定字符类,此处以long数字形式指定。
letter-character -Lu,Ll,Lt,Lm,Lo或Nl类combining-character -Mn或Mc类decimal-digit-character -Nd级connecting-character -PC级 formatting-character -Cf级 甚至可以使用C#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);
}
Run Code Online (Sandbox Code Playgroud)
但是,没有明确提及语言分组,因此您必须解析名称的第一个单词才能按语言对每个字符进行分组。这是最可靠的方法,因为每个拉丁文Unicode字符都以前缀“ Latin”开头。示例如下:
| 归档时间: |
|
| 查看次数: |
2031 次 |
| 最近记录: |