Punycode
Punycode es una codificación que convierte cadenas Unicode (nombres de dominio internacionalizados) en cadenas compatibles con ASCII, con la salida marcada por el prefijo xn--.
Propósito
Permite que los dominios en escrituras no latinas se resuelvan sobre la infraestructura DNS de solo ASCII manteniendo la compatibilidad con los sistemas existentes.
Mecanismo
Los puntos de código ASCII básicos de la entrada se conservan en su sitio; los no ASCII se añaden al final mediante codificación entera generalizada de longitud variable, y un delimitador con las posiciones de inserción recupera el orden. La salida se compone solo de letras ASCII minúsculas, dígitos y guiones.
Casos de uso
- Nombres de dominio internacionalizados (p. ej., un dominio japonés cuyas etiquetas codifican a xn--r8jz45g.xn--zckzah)
- Registro y resolución de IDN
- Direcciones de correo internacionalizadas (fallback SMTPUTF8)
- Capa de compatibilidad para software DNS
Ejemplos
- entrada
münchenOutputxn--mnchen-3yaEncoding a German city name
Errores comunes
- Skipping homograph attack checks for IDN names
- Use ICU to detect suspicious mixed scripts before rendering
Términos relacionados
URL Encoding
La codificación URL (percent-encoding) convierte a forma %HH los caracteres no permitidos en las URL, de modo que datos arbitrarios puedan aparecer con seguridad en los componentes de la URL. GLOSARIO
Unicode
Unicode es el estándar internacional de codificación de caracteres que asigna un punto de código único (U+0000 a U+10FFFF) a cada carácter de casi todos los sistemas de escritura del mundo, con un espacio de 1.114.112 puntos. GLOSARIO
DNS
DNS resuelve nombres de dominio a direcciones IP, dividido en resolución recursiva y autoritativa, y constituye la base del direccionamiento de Internet. GLOSARIO