Qué es PunyCode y cómo se usa en dominios
Autor: Redacción Domeny.ForSale Publicado
En pocas palabras: Punycode permite representar caracteres Unicode, como las letras polacas «ł» u «ó», mediante caracteres básicos de ASCII. En los nombres de dominio, permite expresar una dirección con letras propias de un idioma en un formato técnico que se reconoce por el prefijo xn--. Por ejemplo, bücher.de se representa como xn--bcher-kva.de: son dos formas de escribir el mismo dominio, no dos direcciones distintas que se puedan registrar por separado.
¿Para qué necesitan Punycode los dominios?
Unicode es un estándar que abarca caracteres de muchos idiomas y alfabetos. ASCII es un conjunto de caracteres mucho más reducido: incluye, entre otros, las letras latinas básicas, los dígitos y el guion, pero no contiene «ą», «ę» ni «ż». La representación tradicional de los nombres de host utilizados en internet se basa en este conjunto limitado.
Para permitir el uso de nombres con caracteres propios de distintos idiomas, se desarrolló el mecanismo IDNA: las reglas para gestionar nombres de dominio internacionalizados en las aplicaciones. Un dominio con estos caracteres se denomina IDN, es decir, nombre de dominio internacionalizado. Punycode forma parte de este mecanismo y se encarga de convertir los caracteres a una representación en ASCII.
Punycode no cifra ni protege la dirección. Es una codificación reversible, por lo que una representación correcta permite recuperar los caracteres originales sin contraseña ni clave. El prefijo xn-- tampoco indica, por sí solo, que un sitio web sea peligroso.
¿Qué aspecto tiene un dominio codificado?
La conversión se aplica a cada una de las partes del nombre separadas por puntos, llamadas etiquetas. En la dirección bücher.de se transforma la parte bücher, mientras que la extensión de permanece sin cambios. Si hay varias etiquetas con caracteres ajenos a ASCII, cada una puede necesitar su propia codificación.
En este ejemplo:
bücheres el nombre legible para el usuario;bcher-kvaes el resultado de la codificación Punycode;xn--bcher-kvaes la etiqueta con el prefijo utilizado por IDNA;xn--bcher-kva.dees el dominio completo representado en ASCII.
Punycode conserva los caracteres básicos presentes en el nombre y representa los demás mediante una secuencia codificada. Sin embargo, no conviene añadir terminaciones a mano ni intentar adivinar el resultado: para realizar la conversión se utilizan herramientas compatibles con IDNA.
La codificación no elimina los signos diacríticos. El dominio żaba.pl no se convierte en zaba.pl: son nombres distintos que pueden pertenecer a titulares diferentes. En cambio, la variante con caracteres polacos y su representación correcta xn--… designan el mismo dominio.
¿Cuándo hay que usar la representación xn–?
Normalmente, el usuario escribe el nombre con las letras propias de su idioma y el navegador realiza la conversión necesaria. Sin embargo, al gestionar un dominio, puedes encontrar formularios que exijan la representación en ASCII, por ejemplo, en un panel de DNS, un servicio de alojamiento, una herramienta de monitorización o la configuración de un servidor.
No existe una regla común para todos los paneles. Algunos aceptan el nombre en Unicode y lo convierten automáticamente; otros requieren la representación con xn--. Consulta la documentación del servicio concreto para comprobar qué formato exige.
Este es un procedimiento seguro de configuración:
- Copia el nombre exacto del dominio desde el panel del registrador, es decir, la empresa que gestiona su registro.
- Comprueba su representación en ASCII en el panel o en una herramienta compatible con IDNA.
- Introduce el formato que exige el servicio, sin modificar los puntos ni los guiones.
- Una vez terminada la configuración, prueba el sitio web, HTTPS y, si lo utilizas, el correo electrónico.
Que un texto pueda codificarse no significa que pueda registrarse como dominio. El registro que gestiona cada extensión establece qué caracteres y combinaciones se admiten. También hay límites de longitud para las etiquetas, por lo que importa la longitud tras la conversión, no solo el número de letras visibles. Confirma la disponibilidad del nombre y las reglas de registro con el registrador o con el operador de la extensión.
¿Por qué el navegador a veces muestra código en lugar de letras?
Los navegadores aplican sus propias reglas para mostrar dominios internacionalizados. Pueden mostrar el nombre con los caracteres propios del idioma o mantener su representación técnica xn--. La decisión depende, entre otros factores, de los alfabetos utilizados y de los mecanismos de protección contra la suplantación de otras direcciones.
El problema son los caracteres que tienen un aspecto similar, aunque sus códigos Unicode sean distintos. Por ejemplo, la «a» latina y la «а» cirílica pueden resultar difíciles de distinguir. El uso de esta semejanza para cometer un fraude se denomina ataque homográfico.
Mostrar Punycode puede dificultar que un estafador oculte la diferencia, pero no sustituye la comprobación de la dirección. Al iniciar sesión en el banco o en el correo, utiliza un marcador guardado o escribe tú mismo una dirección que conozcas. HTTPS confirma que la conexión con ese dominio está cifrada, no que el dominio pertenezca a la empresa que el aspecto de la página parece representar.
¿Conviene elegir un dominio con caracteres polacos?
Un dominio que respete la escritura del nombre de la marca puede resultar claro para el público polaco. Sin embargo, puede ser menos práctico para quienes no tienen un teclado polaco y en sistemas con una compatibilidad más limitada con los nombres internacionalizados. Por tanto, al elegirlo, ten en cuenta no solo el aspecto de la dirección, sino también cómo la vas a comunicar y qué herramientas utilizas.
Si registras una variante con caracteres polacos y otra sin ellos, elige una como dirección principal y redirige la otra hacia ella. La redirección del sitio web no configura automáticamente el correo. Además, la compatibilidad con un dominio internacionalizado en una dirección de correo es una cuestión distinta de la compatibilidad con caracteres Unicode antes del símbolo @.
Antes de comprar el dominio, comprueba con tu proveedor de alojamiento y correo si admite el nombre elegido y qué formato exige. Así podrás valorar su utilidad práctica antes de imprimir tarjetas de visita y publicar la dirección.
Consulta también: ¿Qué es ASCII?
