Qué es Unicode
Este artículo se lee en unos 4 minutos.
Unicode es el estándar internacional que representa todos los caracteres del mundo mediante un único sistema de numeración; los emojis también forman parte de este estándar.Japonés, inglés, árabe, emojis, símbolos matemáticos - al asignar un número único (punto de código) a cada «carácter», se permite el intercambio correcto de texto entre distintos idiomas y sistemas.
Definición y propósito
Unicode es un estándar de codificación de caracteres elaborado y mantenido por el Unicode Consortium (organización sin ánimo de lucro). Desde Unicode 1.0 en 1991, hasta Unicode 16.0 en 2024, incluye más de 150 000 caracteres.
Antes de Unicode, el japonés usaba Shift_JIS o EUC-JP, el chino GB2312 y el coreano EUC-KR; cada idioma tenía su propia codificación. Esa era la causa principal de los «caracteres corruptos» (mojibake), y Unicode se creó para resolver este problema de raíz.
Qué es un punto de código
En Unicode, a cada carácter se le asigna un número único llamado «punto de código». Se escribe como U+ seguido de un valor hexadecimal, por ejemplo:
- A → U+0041
- あ → U+3042
- 😊 → U+1F60A
- 🌸 → U+1F338
El punto de código es como la «dirección» de un carácter: en cualquier sistema, el mismo número apunta al mismo carácter.
Codificación - UTF-8 y UTF-16
El método para almacenar los puntos de código en la memoria o en archivos se llama «codificación». Existen dos codificaciones principales.
| Aspecto | UTF-8 | UTF-16 |
|---|---|---|
| Bytes por carácter | 1 a 4 bytes (longitud variable) | 2 o 4 bytes |
| Compatibilidad ASCII | Sí (alfanuméricos en 1 byte) | No |
| Uso principal | Web, almacenamiento de archivos, API | Interno de Windows, Java, JavaScript |
| Bytes para un emoji | 4 bytes | 4 bytes (par sustituto) |
En el mundo web, UTF-8 es el estándar de facto. La etiqueta <meta charset="utf-8"> en un archivo HTML declara «esta página está escrita en UTF-8».
Relación entre Unicode y los emojis
Los emojis están incluidos como uno de los «bloques» de Unicode. Se distribuyen principalmente en los siguientes bloques:
- Emoticons (U+1F600 a U+1F64F): expresiones faciales
- Miscellaneous Symbols and Pictographs (U+1F300 a U+1F5FF): clima, comida, animales, etc.
- Transport and Map Symbols (U+1F680 a U+1F6FF): vehículos, edificios
- Supplemental Symbols and Pictographs (U+1F900 a U+1F9FF): emojis adicionales
La incorporación de nuevos emojis es evaluada por el Emoji Subcommittee del Unicode Consortium y se publica una vez al año.
Qué es el Unicode Consortium
El Unicode Consortium es una organización sin ánimo de lucro con sede en California. Grandes empresas tecnológicas como Apple, Google, Microsoft, Meta y Amazon participan como miembros, contribuyendo a la elaboración y mantenimiento del estándar. Cualquier persona puede enviar una propuesta de emoji, y el proceso de evaluación es público.
Consideraciones prácticas
- Conteo de caracteres: un emoji puede contar como 2 en
.lengthde JavaScript (par sustituto) - Base de datos: para almacenar emojis en MySQL hay que usar
utf8mb4(elutf8normal solo admite hasta 3 bytes) - URL: incluir emojis en una URL requiere codificación porcentual
Términos relacionados
- Emoji - caracteres pictográficos incluidos en Unicode
- ZWJ (Zero Width Joiner) - carácter de control para combinar emojis