Hoy en día el 98% de los archivos de texto que se manejan en todo tipo de software estan codificados como UTF-8 (Unicode Transformation Format, 8-bit) una forma estándar de codificar caracteres en todas las formas de escritura, emojis incluidos. Hace ya muchas décadas que se modernizó el viejísimo código ASCII aunque el UTF-8 mantiene la compatibilidad hacia atrás, razón por la que transición fue muy poco dolorosa.
En un artículo que tiene ya algún tiempo, Niki, un desarrollador que sabe algo de todo esto, ha explicado El mínimo absoluto que todo desarrollador de software debería saber sobre Unicode. Esto incluye la explicación de lo que son los puntos de código, de los que Unicode permite 1,1 millones aunque de momento solo hay definidos unos 170.000 y otros se reservan para «uso privado», como cuando para cierta plataforma (por ejemplo las de Apple) una empresa define un carácter con su logotipo y cosas así.
Una de las complicaciones de UTF-8 es que los caracteres pueden ser secuencias de 1, 2, 3 ó 4 bytes. El UTF-8 es compatible ASCII (del 0 al 127); a partir de ahí el UTF-16 ya complica las cosas con más símbolos para otros sistemas de escritura más allá del alfabeto básico del inglés. Esto incluye sincronía, no superposición y curiosidades como la forma en que se pueden formar los símbolos y los emojis, que también están incluidos en las tablas de Unicode.
Respecto a esto de los símbolos, sistemas de escritura y emojis la cosa tiene su enjundia porque, tal y como se explica, según los diferentes lenguajes de programación la longitud de las cadenas de texto con ellos dista de ser algo obvio. Es decir que un emoji de familia sonriente puede no tener longitud 1, como cabría esperar, sino 7, y puede haber hasta tres formas de escribir «Å» que básicamente es la misma letra pero compuesta o «normalizada» de diversas formas.
Un gran artículo explicativo que sirve para entender todos los detallitos de algo tan importante como es la forma en que codifican los textos, aunque el estándar Unicode sigue evolucionando y de un año a otro se va ampliando, modificando y mejorando.
Relacionado:
- Una tabla Unicode interactiva
- Cuando una а no es una a y otras curiosidades de los alfabetos
- Codepoints: una web para reunirlos a todos (los símbolos Unicode), de letras a jeroglíficos y dingbats
- Un reconocedor de símbolos Unicode
- I ♥ usos ingeniosos del Unicode
- Conversor LaTeX a Unicode
- Unicode 14.0 vendrá con 838 nuevos emojis
- Twitter ft. Unicode
- Ya está publicado Unicode 15.0 con 4.500 nuevos caracteres
- Nuevos «femmojis» para Unicode
- Emojipedia: todo sobre los emojis