Conversor de Punycode (nomes de domínio internacionalizados)
Converte nomes de domínio internacionalizados (IDN) que contêm caracteres não ASCII, como o japonês, para Punycode (uma codificação compatível com ASCII) e vice-versa.
Dicas de uso
- Nomes de domínio compostos por vários rótulos (partes separadas por `.`) também são processados automaticamente rótulo por rótulo: os que contêm apenas caracteres ASCII permanecem inalterados, e somente os rótulos com caracteres não ASCII são convertidos para o formato com prefixo `xn--`.
- No modo "Punycode → Nome de domínio", apenas os rótulos que incluem o prefixo `xn--` são decodificados; os demais são mantidos como estão.
- A mesma lógica de conversão pode ser aplicada não só a nomes de domínio, mas também à parte após o `@` em um endereço de e-mail (a parte do domínio).
- Ao digitar um nome de domínio internacionalizado na barra de endereços do navegador, a maioria dos navegadores o converte internamente para Punycode antes de realizar a resolução DNS.
Perguntas frequentes
Curiosidade — os bastidores de como "gato" e "日本語" se tornaram nomes de domínio
As discussões sobre nomes de domínio internacionalizados (IDN) começaram no final da década de 1990, mas a padronização levou muito tempo. Várias abordagens foram propostas para lidar com caracteres não ASCII sem alterar o núcleo do DNS, e por fim foi adotada a abordagem Punycode — codificar e decodificar na camada de aplicação (do lado do cliente), sem modificar o próprio servidor DNS —, padronizada como RFC 3492 em 2003.
Diz-se que o nome "Punycode" vem da combinação de "Unicode" com "an amusing pun" (um trocadilho divertido), e o próprio algoritmo é uma especialização, voltada para nomes de domínio, de um método de codificação mais geral chamado Bootstring (uma técnica de propósito geral criada por pesquisadores da IBM para codificar qualquer conjunto de caracteres em um conjunto restrito). O fato de até a origem do nome "Punycode" ter um quê de piada revela bem o senso de humor típico da comunidade de desenvolvedores.
Hoje em dia, nomes de domínio em diversos idiomas e símbolos — domínios japoneses (`.jp`) e até domínios com emojis (existem exemplos reais como `💩.la`) — são de fato registrados e utilizados, mas por trás de todos eles sempre ocorre esse processo de conversão via Punycode. Até o elegante domínio japonês exibido na barra de endereços do navegador é trocado com o servidor DNS como uma simples cadeia ASCII que começa com `xn--`.