Where can I get a list of Unicode chars by class?

后端 未结 5 1812
天命终不由人
天命终不由人 2020-12-13 17:43

I\'m new to learning Unicode, and not sure how much I have to learn based on my ASCII background, but I\'m reading the C# spec on rules for identifiers to determine what cha

相关标签:
5条回答
  • 2020-12-13 18:17

    You can retrieve this information in an automated fashion from the official Unicode data file, UnicodeData.txt, which is published here:

    • UnicodeData.txt (at unicode.org)

    This is a file with semicolon-separated values in each line. The third column tells you the character class of each character.

    The benefit of this is that you can get the character name for each character, so you have a better idea of what it is than by just looking at the character itself (e.g. would you know what ბ is? That’s right, it’s Ban. In Georgian. :-))

    0 讨论(0)
  • 2020-12-13 18:34

    In the ANTLR lexer you can find Unicode character sets (LU, LL, LT, LM, and LO) in convenient range format.

    0 讨论(0)
  • 2020-12-13 18:35

    FileFormat.info has a list of Unicode characters by category:

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

    0 讨论(0)
  • 2020-12-13 18:35

    You can, of course, use 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);
    }
    

    You can find a list of Unicode categories and their short names on MSDN, e.g., "Ll" is short for UnicodeCategory.LowercaseLetter.

    0 讨论(0)
  • 2020-12-13 18:41

    https://www.compart.com/en/unicode/category is a pretty useful and easy-to-navigate site for browsing the categories. It is searchable and lists quite a lot of info on individual unicode characters.

    0 讨论(0)
提交回复
热议问题