Где я могу получить список символов Unicode по классам?
Я новичок в изучении Unicode и не уверен, что мне нужно учиться на основе моего ASCII-фона, но я читаю спецификацию С# на правила для идентификаторов, чтобы определить, какие символы разрешены в Azure Table (который непосредственно основан на спецификации С#).
Где я могу найти список символов Юникода, которые попадают в эти категории:
-
letter-character
: символ Юникода классов Lu, Ll, Lt, Lm, Lo или Nl
-
combining-character
: символ Unicode классов Mn или Mc
-
decimal-digit-character
: символ Unicode класса Nd
-
connecting-character
: символ Unicode класса Pc
-
formatting-character
: символ Unicode класса Cf
Ответы
Ответ 1
Вы можете получить эту информацию автоматическим образом из официального файла данных Unicode, UnicodeData.txt
, который публикуется здесь:
Это файл с разделителями с запятой в каждой строке. В третьем столбце указан класс символов каждого символа.
Преимущество этого в том, что вы можете получить имя персонажа для каждого персонажа, поэтому у вас есть лучшее представление о том, что это такое, чем просто взглянуть на самого персонажа (например, знаете ли вы, что такое ბ? Правильно, его Запрет на грузинском языке. :-)
)
Ответ 2
FileFormat.info имеет список символов Юникода по категориям:
http://www.fileformat.info/info/unicode/category/index.htm
Ответ 3
Вы можете, конечно, использовать 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);
}
Вы можете найти список категорий Unicode и их коротких имен на MSDN, например, "Ll" не подходит для UnicodeCategory.LowercaseLetter.
Ответ 4
В ANTLR lexer вы можете найти наборы символов Unicode (LU, LL, LT, LM и LO) в удобном формате диапазона.
Ответ 5
Самый простой способ найти это в меню Edit → Special Characters... Это вызывает всплывающее диалоговое окно со всеми символами Unicode в категориях.
Это работает на Mac; Я не пробовал Windows.
Ответ 6
https://www.compart.com/en/unicode/category - довольно удобный и простой в навигации сайт для просмотра категорий.
Он доступен для поиска и содержит довольно много информации об отдельных символах юникода.