Skip to content

Codificador e Decodificador de URL

Codificação percentual (RFC 3986) para strings de consulta e fragmentos de URL.

Buğra SözeriDesenvolvedor
Updated · Published
Reviewed by Convertitive

A codificação de URL (ou codificação percentual) substitui caracteres que têm um significado reservado em URLs — espaços, e comerciais, sinais de igual, barras — por um sinal de porcentagem seguido dos valores de byte UTF-8 do caractere em hexadecimal. A ferramenta abaixo funciona em ambas as direções, suporta o intervalo completo de Unicode e expõe os dois modos que o JavaScript usa nativamente: encodeURIComponent (estrito) para valores de string de consulta, e encodeURI (relaxado) para URLs completas.

Mode
search%20query%20with%20spaces%20%26%20special%3Dchars%3F

How to use

  1. Escolha uma direção

    Codificar transforma texto simples em forma escapada percentualmente; Decodificar faz o inverso.

  2. Escolha estrito ou relaxado (somente para codificação)

    Estrito (encodeURIComponent) escapa todos os caracteres reservados — use para valores de string de consulta. Relaxado (encodeURI) preserva a estrutura de uma URL completa.

  3. Cole seu valor

    A saída é atualizada enquanto você digita. O lado de decodificação exibirá um erro claro se a entrada contiver uma sequência de porcentagem malformada.

Frequently asked questions

Quais caracteres são codificados percentualmente?
O modo estrito codifica tudo exceto A-Z a-z 0-9 -_.~ (o conjunto 'não reservado' segundo RFC 3986). O modo relaxado também preserva o conjunto reservado: : / ? # [ ] @ ! $ & ' ( ) * + , ; =
Os espaços são codificados como %20 ou como +?
Dentro de um caminho de URL, sempre %20. Dentro de uma string de consulta, ambos são tecnicamente aceitos (o + vem do padrão mais antigo application/x-www-form-urlencoded), mas %20 é inequívoco. Esta ferramenta emite %20 em ambos os modos.
O codificador suporta Unicode?
Sim. Caracteres não ASCII são codificados como sua sequência de bytes UTF-8, com cada byte escapado percentualmente. O decodificador reverte isso, retornando a string original.
Por que estou recebendo o erro 'sequência de porcentagem incompleta'?
A entrada contém um % que não é seguido por exatamente dois dígitos hexadecimais — geralmente porque outra ferramenta já decodificou o valor, ou porque o valor foi concatenado sem escape.

Ferramentas relacionadas