Saltar al contenido
uencoder

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ünchen
    Output
    xn--mnchen-3ya

    Encoding 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

Herramientas relacionadas

References