¿Qué es Unicode?
Unicode es un estándar de informática universal para la codificación consistente, representación y manipulación de texto en la mayoría de los sistemas de escritura del mundo. En la industria de dominios, Unicode permite Nombres de Dominio Internacionalizados (IDN) que contienen caracteres no latinos como chino, árabe, cirílico y otros escritos. Unicode asigna un punto de código único a cada carácter en todos los idiomas, asegurando representación consistente entre diferentes sistemas.Unicode en Nombres de Dominio
Soporte de IDN
Unicode permite dominios como:
- 例え.jp (Japonés)
- مثال.مصر (Árabe)
- пример.рф (Cirílico Ruso)
- 例子.中国 (Chino)
Conversión de Punycode
DNS usa ASCII, por lo que los dominios Unicode se convierten a Punycode:
Unicode: münchen.de
Punycode: xn--mnchen-3ya.de
Unicode: 北京.中国
Punycode: xn--1lq90i.xn--fiqs8s
Puntos de Código Unicode
Estructura
Formato: U+XXXX (hexadecimal)
Ejemplos:
A = U+0041 (Latina A)
а = U+0430 (Cirílica a)
中 = U+4E2D (Carácter chino)
Bloques de Caracteres
| Bloque | Rango | Escritura |
|---|---|---|
| Latín Básico | U+0000-007F | Inglés/ASCII |
| Cirílico | U+0400-04FF | Ruso, etc. |
| Árabe | U+0600-06FF | Árabe |
| CJK | U+4E00-9FFF | Chino/Japonés/Coreano |
Preocupaciones de Seguridad
Ataques de Homoglifo
Caracteres de aspecto similar de diferentes escritos:
Latino 'a' (U+0061) vs Cirílico 'а' (U+0430)
Latino 'o' (U+006F) vs Cirílico 'о' (U+043E)
Ataque: аpple.com (Cirílico 'а') parece apple.com
Protecciones del Navegador
Los navegadores pueden mostrar Punycode para dominios de script mixto sospechosos.
Normalización de Unicode
Diferentes formas de representar el mismo carácter:
é = U+00E9 (precompuesto)
é = U+0065 + U+0301 (descompuesto: e + acento combinado)
Formas de normalización: NFC, NFD, NFKC, NFKD
Unicode es fundamental para la accesibilidad de internet global, permitiendo que los usuarios en todo el mundo registren y accedan a nombres de dominio en sus escritas y idiomas nativos.