30 votes

Où puis-je obtenir une liste des caractères Unicode par classe?

Je suis nouveau à l'apprentissage de l'Unicode, et ne savez pas combien j'ai à apprendre selon mon ASCII arrière-plan, mais je suis en train de lire le C# spec sur les règles pour les identificateurs afin de déterminer quels caractères sont autorisés dans Azure Table (qui est directement fondée sur le C# spec).

Où puis-je trouver une liste de caractères Unicode qui tombent dans ces catégories:

  • letter-character: Un caractère Unicode de classes Lu, Ll, Lt, Lm, Lo, ou Nl
  • combining-character: Un caractère Unicode de classes Mn ou Mc
  • decimal-digit-character: Un caractère Unicode de la classe Nd
  • connecting-character: Un caractère Unicode de la classe de Pc
  • formatting-character: Un caractère Unicode de la classe Fc

26voto

Phil Ross Points 10227

FileFormat.info a une liste de caractères Unicode par catégorie:

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

26voto

Timwi Points 30896

Vous pouvez récupérer ces informations de manière automatisée, à partir de l'officiel Unicode fichier de données, UnicodeData.txt, ce qui est publié ici:

C'est un dossier avec un point virgule-valeurs séparées dans chaque ligne. La troisième colonne indique la classe de caractère de chaque personnage.

L'avantage de ceci est que vous pouvez obtenir le nom du caractère de chaque personnage, de sorte que vous avez une meilleure idée de ce que c'est que simplement en regardant le personnage lui-même (par exemple, sauriez-vous quoi ბ est? C'est vrai, c'est le Ban. En Géorgien. :-))

9voto

dtb Points 104373

Vous pouvez bien sûr utiliser 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);
}
 

Vous pouvez trouver une liste des catégories Unicode et leurs noms courts sur MSDN , par exemple, "Ll" est l'abréviation de UnicodeCategory.LowercaseLetter .

0voto

QuentinUK Points 995

Le moyen le plus simple de les trouver est sous Édition | Caractères spéciaux ... cela fait apparaître une boîte de dialogue contextuelle avec tous les caractères unicode dans les catégories.

Cela fonctionne sur un Mac n'ayant pas essayé Windows.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X