Question

Je suis nouveau à l'apprentissage Unicode, et ne sais pas combien je dois apprendre basé sur mon fond ASCII, mais je lis C # spec sur les règles d'identification pour déterminer les caractères sont autorisés dans Azure Table (qui est basé directement sur la spécification C #).

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

  • letter-character: Un caractère Unicode des classes Lu, FSR, Lt, Lm, Lo, ou Nl
  • combining-character: Un caractère Unicode des classes Mn ou Mc
  • decimal-digit-character: Un caractère Unicode de la classe Nd
  • connecting-character: Un caractère Unicode de la classe Pc
  • formatting-character: caractère unicode de la classe Cf
Était-ce utile?

La solution

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

Ce fichier de valeurs séparées par des points-virgules dans chaque ligne. La troisième colonne indique la classe de caractères de chaque caractère.

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

Autres conseils

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

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

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 .

Dans le ANTLR lexer vous pouvez trouver jeux de caractères Unicode (LU, LL, LT, LM et LO) au format plage pratique.

https://www.compart.com/en/unicode/category est un très utile et facile à naviguer site pour parcourir les catégories. Il est consultable et listes tout à fait beaucoup d'informations sur les caractères individuels unicode.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top