Pregunta

Soy nuevo en el aprendizaje de Unicode, y no está seguro de cuánto tengo que aprender en base a mi experiencia ASCII, pero estoy leyendo C # spec en reglas de los identificadores para determinar lo que se permiten caracteres dentro Azure Tabla (que se basa directamente en la especificación C #).

¿Dónde puedo encontrar una lista de caracteres Unicode que caen en estas categorías:

  • letter-character: Un carácter Unicode de clases Lu, LL, Lt, Lm, Lo, o Nl
  • combining-character: Un carácter Unicode de clases Mn o Mc
  • decimal-digit-character: Un carácter Unicode de la clase Nd
  • connecting-character: Un carácter Unicode de la clase Pc
  • formatting-character: Un carácter Unicode de la clase Cf
¿Fue útil?

Solución

Se puede recuperar esta información de forma automatizada a partir del archivo de datos oficial de Unicode, UnicodeData.txt, que se publica aquí:

Este es un archivo con los valores de punto y coma-separado en cada línea. La tercera columna indica la clase de caracteres de cada personaje.

El beneficio de esto es que se puede obtener el nombre de caracteres para cada carácter, por lo que tiene una mejor idea de lo que es que con sólo mirar el personaje en sí (por ejemplo, ¿sabría qué ? es? Eso es correcto, es Ban. En Georgia. :-))

Otros consejos

FileFormat.info tiene una lista de caracteres Unicode por categoría:

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

Puede, por supuesto, el uso de 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);
}

Se puede encontrar una lista de categorías de Unicode y sus nombres abreviados en MSDN , por ejemplo, "ll" es la abreviatura de UnicodeCategory.LowercaseLetter .

En el antlr lexer se pueden encontrar juegos de caracteres Unicode (LU, LL, LT, LM, y LO) en formato conveniente gama.

https://www.compart.com/en/unicode/category es un sitio muy útil y fácil de navegar para navegar por las categorías. Es búsquedas y listas de todo un montón de información sobre los caracteres Unicode individuales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top