Contenido
¿Qué es Unicode?
Unicode es un estándar de codificación que abarca los caracteres de prácticamente todos los idiomas del mundo. Este estándar permite que las computadoras procesen información textual y la muestren correctamente en la pantalla. Toda la información en una computadora se almacena y procesa en formato binario, es decir, en forma de secuencias de ceros y unos. Para traducir estas secuencias binarias en caracteres comprensibles para los usuarios, se han desarrollado codificaciones especiales que establecen reglas según las cuales a cada carácter —ya sea una letra, un número o incluso una nota musical— se le asigna un código numérico único.
Para que una computadora pueda mostrar correctamente los caracteres en la pantalla, necesita saber a qué código binario corresponden. Por ejemplo, la secuencia binaria 0100 0001 corresponde a la letra latina A. Sin embargo, la cantidad de códigos posibles es limitada, por lo que Unicode opera de manera diferente. A cada carácter se le asigna un punto de código: un valor numérico único que tiene la forma U+XXXX. El prefijo U+ indica que pertenece a Unicode, y XXXX representa el valor hexadecimal del carácter.
En el sistema hexadecimal se utilizan 16 símbolos, incluyendo los dígitos del 0 al 9 y las letras de la A a la F, que representan los números del 10 al 15. Por ejemplo, a la letra inglesa A le corresponde el punto de código U+0041, y a la palabra HELLO le corresponden los puntos de código U+0048, U+0065, U+006C, U+006C, U+006F. Cada punto de código se traduce luego a formato binario, comprensible para la computadora, y se almacena en su memoria. Es interesante que, a través de Unicode, también se codifican los emojis.
¿Para qué sirve Unicode?
Originalmente, existían codificaciones separadas para los caracteres de cada idioma, muchas de las cuales eran incompatibles entre sí. Esto llevó a la aparición del problema de las "krakozyabras", cuando en lugar de texto normal en la pantalla aparecían símbolos o caracteres extraños. Por ejemplo, si la chica Masha de Rusia enviaba un e-mail con la palabra Привет a su amigo en Armenia, él podía recibir en su lugar un mensaje que decía ?????. El texto original se perdía, ya que las computadoras del remitente y del destinatario soportaban diferentes codificaciones.
Unicode se creó para resolver este problema, proporcionando un método único para representar caracteres y simplificando el trabajo con texto a nivel multilingüe. Con Unicode, se puede enviar un correo electrónico o publicar texto en un sitio web incluso en klingon —un idioma artificial desarrollado por el lingüista Marc Okrand para el universo de la serie "Star Trek". Los destinatarios podrán verlo en su forma original y legible. Hasta la fecha, Unicode incluye aproximadamente 150,000 caracteres, lo que es suficiente para abarcar casi todos los sistemas de escritura.
Otras codificaciones: qué había antes de Unicode
Antes de la llegada de Unicode, existían muchas codificaciones diferentes, cada una de las cuales estaba destinada a un idioma específico. Las más conocidas son ASCII, KOI8-R y Windows-1251.
- ASCII: Es una tabla de codificación que incluye 127 caracteres, como letras latinas, números y signos de puntuación. Sin embargo, ASCII no soporta caracteres cirílicos, y al intentar codificar texto en ruso, los usuarios obtenían un conjunto de signos de interrogación, perdiendo el texto original.
- KOI8-R: Esta codificación fue desarrollada para representar caracteres no solo del alfabeto latino. KOI8-R es compatible con ASCII e incluye 256 símbolos, lo que permite mostrar caracteres cirílicos.
- Windows-1251: Otra codificación que soporta caracteres cirílicos. A pesar de esto, los símbolos pueden codificarse de manera diferente en distintas codificaciones. Por ejemplo, el símbolo Г puede tener diferentes representaciones en KOI8-R y Windows-1251.
El problema de la incompatibilidad entre diferentes codificaciones se manifestaba cuando el texto codificado con una codificación se descodificaba utilizando otra. Además, existían serias limitaciones en la cantidad de caracteres en las viejas codificaciones: ASCII tiene 127 caracteres, y Windows-1251 tiene 256. Para muchos idiomas poco populares, simplemente no existían codificaciones. Unicode, en cambio, ofrece una solución universal, incluyendo todos los caracteres permitidos y las reglas para su codificación.
