O que é codificação de URL?
URLs só podem conter um conjunto limitado de caracteres. Caracteres não ASCII (como ç e letras acentuadas), espaços e caracteres com significado especial em URLs, como &, = e ?, precisam ser codificados antes de entrar em um parâmetro. A codificação de URL (percent-encoding) converte cada caractere em bytes UTF-8 e os escreve como % seguido de dois dígitos hexadecimais; o caractere chinês 中, por exemplo, vira %E4%B8%AD.
Como usar
- Clique em "Codificar" ou "Decodificar" para escolher a direção; o botão escolhido fica destacado.
- Digite na caixa de entrada. Com "Conversão automática" ativada, o resultado aparece assim que você para de digitar.
- "Usar resultado como entrada" leva o resultado para a esquerda e inverte a direção.
Espaços devem virar %20 ou +?
- %20 (padrão): segue o padrão de URL RFC 3986 e funciona em qualquer parte de uma URL.
- +: o formato usado no envio de formulários HTML (
application/x-www-form-urlencoded). Ative "Espaço como +"; ao decodificar, o+passa a ser tratado como espaço.
Exemplo
a b&c=中文 é codificado como:
a%20b%26c%3D%E4%B8%AD%E6%96%87
Qual a diferença para o encodeURIComponent do JavaScript?
Os resultados são quase iguais. Seguindo a RFC 3986, esta ferramenta também codifica os cinco caracteres !, ', (, ) e *, mantendo apenas letras, dígitos, -, _, . e ~. Isso reduz as chances de problemas em servidores diferentes.
Alcance da codificação e análise de URL
- Valor de parâmetro (padrão): todos os caracteres especiais são codificados, o ideal para um valor depois de
?q=. - URL completa: mantém a estrutura da URL (
: / ? & = #) e codifica apenas o que uma URL não aceita, como caracteres não ASCII, espaços e símbolos como[ ] |. Por exemplo,https://example.com/咖啡?q=拿 鐵virahttps://example.com/%E5%92%96%E5%95%A1?q=%E6%8B%BF%20%E9%90%B5. - Analisar URL: "Analisar URL" divide uma URL em protocolo, host, porta, caminho e fragmento, e lista cada parâmetro da query decodificado em uma tabela, incluindo os repetidos. Um
+na query é lido como espaço, como fazem os servidores.
Perguntas frequentes
Posso codificar uma URL inteira?
Com o alcance padrão "Valor de parâmetro", uma URL inteira quebra, porque ://, ? e & também são codificados. Para uma URL inteira, mude "Alcance da codificação" para "URL completa", que mantém a estrutura e codifica apenas o que uma URL não aceita; use "Valor de parâmetro" para um valor isolado.
Ao decodificar aparece "String com codificação de URL inválida"
Todo % precisa ser seguido de dois dígitos hexadecimais (0–9, A–F). Se o texto só contém um sinal de porcentagem (como 100%), ele nunca foi codificado e não precisa ser decodificado.
O que significa %2520?
O texto foi codificado duas vezes: o próprio % foi codificado de novo como %25. Decodifique mais uma vez para obter o original.