Saltar para o conteúdo
BCBinary Code Translator
Menu

Conversão de nomes de domínio internacionais

Conversor Punycode

Converta um rótulo Unicode ou domínio completo em A-labels xn-- e restaure Punycode canónico, preservando separadores de ponto e validando rótulos inválidos.

A implementação da RFC 3492 é executada localmente e não consulta DNS nem regista domínios.

Direção da conversão
0 carateres
0 carateres

A conversão ocorre localmente neste navegador. A entrada não é enviada.

Ainda não há resultado.

O papel do Punycode em IDNs

O DNS tradicional transporta rótulos ASCII. Punycode, definido na RFC 3492, codifica pontos de código não ASCII numa sequência composta por letras, dígitos e hífens.

Em nomes de domínio, um rótulo codificado recebe o prefixo xn-- e é chamado A-label. Cada parte entre pontos é processada de forma independente; o algoritmo não deve codificar o domínio inteiro como uma única cadeia.

Esta implementação cobre a transformação Punycode e uma validação conservadora de rótulos. Não substitui o processamento completo UTS #46 dos navegadores e registos.

Como converter Punycode

  1. Escolha Domínio completo para processar cada rótulo entre pontos ou Rótulo único para uma parte isolada.
  2. Use Codificar com um nome Unicode e Descodificar com um A-label ou domínio ASCII.
  3. Mantenha hífens e pontos na posição correta; rótulos vazios são rejeitados.
  4. Verifique a forma minúscula canónica antes de usar o valor em configuração DNS.
  5. Valide separadamente regras de registo, homógrafos e disponibilidade do domínio.

Exemplos de rótulos e domínios Punycode

Os casos cobrem rótulo único, domínio completo, maiúsculas e minúsculas, separadores Unicode e ponto raiz final.

Entrada Saída Direção da conversão Notas
bücher xn--bcher-kva Codificar Rótulo alemão. Um rótulo Unicode transforma-se num A-label com o prefixo xn--.
mañana xn--maana-pta Codificar Rótulo espanhol. A carga RFC 3492 é maana-pta; a forma A-label de DNS acrescenta xn--.
例子 xn--fsqu00a Codificar Rótulo chinês. Um rótulo sem carateres ASCII básicos produz uma carga totalmente codificada.
Münich.Example xn--mnich-kva.example Codificar Domínio completo. Cada rótulo é processado separadamente e a saída ASCII é normalizada para minúsculas.
例子。测试 xn--fsqu00a.xn--0zwm56d Codificar Ponto Unicode. Separadores ideográficos são normalizados para ponto ASCII.
XN--BCHER-KVA.example bücher.example Descodificar Descodificar A-label. A comparação de rótulos ASCII não distingue maiúsculas de minúsculas e a forma A-label devolvida fica em minúsculas.

Rótulos, pontos, maiúsculas e minúsculas

A ferramenta normaliza pontos Unicode comuns para ‘.’ e converte rótulos para minúsculas. Um ponto raiz final é permitido e preservado.

Rótulos devem ter de 1 a 63 carateres ASCII após a codificação, não podem começar ou terminar com hífen e o domínio codificado não pode exceder 253 carateres sem o ponto raiz.

  • O modo de rótulo não aceita pontos.
  • Rótulos vazios entre dois pontos são inválidos.
  • Letras, marcas, números e hífens formam o perfil Unicode suportado.
  • A-labels devem começar com xn-- e ser canónicos.
  • Emoji e símbolos fora do perfil conservador são rejeitados.

Como o algoritmo Bootstring funciona

Punycode copia primeiro os carateres ASCII básicos e depois representa os pontos não ASCII como deltas variáveis. Um viés adaptativo mantém números menores para padrões próximos.

O descodificador desfaz esses deltas, insere pontos de código nas posições corretas e rejeita overflow, dígitos inválidos e substitutos.

A implementação usa diretamente a RFC 3492, sem dependências adicionais. Isto evita novos custos e licenças, mas as regras modernas de IDNA continuam a ser responsabilidade do sistema que consome o domínio.

Quando Punycode é necessário

Punycode permite representar nomes internacionais em campos que aceitam apenas rótulos DNS ASCII.

Item Descrição
Configuração DNS Painéis podem exigir o A-label xn-- em vez do nome Unicode visível.
Análise de links Mostrar as duas formas ajuda a rever destinos internacionais.
Migração de dados Sistemas antigos podem armazenar a forma ASCII canónica.
Depuração de certificados SANs e logs podem exibir Punycode.
Validação de entrada Limites por rótulo detetam nomes impossíveis antes de uma consulta.

Erros e riscos de domínio

Punycode válido não significa que o domínio seja seguro, registado ou permitido. Carateres visualmente semelhantes podem formar ataques de homógrafo.

Registos aplicam IDNA, normalização, listas de carateres e políticas por TLD. Esta ferramenta não consulta essas políticas.

  • Não trate xn-- como prova de legitimidade.
  • Dois pontos consecutivos criam rótulo vazio.
  • Hífen no início ou fim é inválido.
  • Rótulo acima de 63 carateres é inválido.
  • Descodificação canónica é verificada por recodificação.

Punycode comparado a URL encoding e IDNA

Punycode codifica rótulos de domínio Unicode. Percent-encoding codifica bytes em outros componentes de uma URL e não deve substituir Punycode no host.

IDNA é o conjunto maior de regras que decide quais nomes Unicode são aceitáveis e como são mapeados. Punycode é apenas o algoritmo reversível interno.

Item Descrição
IDNA / UTS #46 Adiciona mapeamento, normalização e regras de validade usadas por navegadores.
URL encoding Representa bytes com %HH em caminhos, consultas e outros componentes.
DNS ASCII Usa A-labels resultantes, mas ainda depende de resolução e políticas externas.

Perguntas frequentes sobre Punycode

Esta ferramenta consulta o DNS?

Não. A ferramenta apenas transforma texto localmente.

Porque é que aparece o prefixo xn--?

Identifica um rótulo ASCII cujo restante conteúdo usa Punycode.

O domínio é convertido inteiro de uma vez?

Não. Cada rótulo entre pontos é codificado separadamente.

Maiúsculas são preservadas?

Não. Nomes DNS são normalizados para forma minúscula canónica.

Punycode evita homógrafos?

Não. A forma ASCII pode ajudar na revisão, mas políticas de segurança adicionais são necessárias.

Foi adicionada alguma dependência?

Não. O algoritmo RFC 3492 foi implementado no projeto; a entrega documenta essa escolha.

Ferramentas relacionadas de codificação e carateres

Ver todas as ferramentas

Preferências de cookies

Gerir as preferências de cookies. Os cookies necessários não podem ser desativados.

Necessários

Obrigatório

Necessários para seleção de idioma, escolhas de privacidade e funcionalidades básicas do site.

Cookies: NEXT_LOCALE

Análises

Cookies opcionais de análise ajudam a entender o tráfego e melhorar o site.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidade

Cookies opcionais de publicidade podem ser usados para mostrar anúncios relevantes e medir desempenho.

Cookies: __gads, _gcl_au, IDE