Codificador e Decodificador de URL
Aplique percent-encoding em textos para URLs e query strings, decodifique URLs codificadas e divida qualquer URL em partes, com os parâmetros de query decodificados.
Roda no seu navegadorSem cadastroNada é enviado
Componentes
Parâmetros de query
Como usar: URL Encode / Decode
- Escolha Codificar ou Decodificar.
- Ao codificar, escolha Componente para um único valor de query ou segmento de caminho, URL completa para manter a estrutura da URL, ou Dados de formulário para
application/x-www-form-urlencoded. - Cole seu texto. O resultado aparece na hora; escapes malformados são reportados com a posição.
- Cole uma URL completa no Analisador de URL para ver o host, o caminho, o fragmento e cada parâmetro de query decodificado.
O que é codificação de URL?
URLs só podem conter um conjunto limitado de caracteres ASCII (RFC 3986). Todo o resto, incluindo espaços, letras acentuadas e caracteres com significado especial como &, ? e #, é escrito como um sinal de porcentagem seguido de dois dígitos hex para cada byte UTF-8. Um espaço vira %20 e é vira %C3%A9.
encodeURIComponent vs. encodeURI
| Função | Não altera | Use para |
|---|---|---|
encodeURIComponent | A-Z a-z 0-9 - _ . ~ | Um único valor de query, segmento de caminho ou nome de parâmetro |
encodeURI | Também : / ? # [ ] @ ! $ & ' ( ) * + , ; = | Uma URL inteira cuja estrutura precisa ser mantida |
Usar encodeURI em um valor de query é um bug clássico: um & dentro do valor não é escapado e divide o parâmetro em dois. O modo Componente desta ferramenta também escapa ! ' ( ) * para seguir estritamente a RFC 3986.
%20 ou + para espaços?
Em caminhos, um espaço precisa ser %20. Em envios de formulários HTML (application/x-www-form-urlencoded) e em muitas query strings, o espaço é escrito como +. Ao decodificar, ative Tratar + como espaço para dados de formulário, e desative quando um sinal de mais literal importar, como em jane+test@example.com.
Perguntas frequentes
Por que aparece “Escape malformado” ao decodificar?
% precisa ser seguido de exatamente dois dígitos hex. Um sinal de porcentagem literal, como em “50% off”, deveria ter sido codificado como %25. O erro mostra a posição da sequência inválida.O que significa “Sequência de bytes UTF-8 inválida”?
%E9 para é em vez de %C3%A9), ou a string foi cortada no meio de um caractere.Devo codificar a URL inteira ou só os parâmetros?
= e &. Codificar uma URL completa no modo componente também escaparia o :// e a quebraria.Codificação dupla é um problema?
%20 em %2520. Se você vir %25 seguido de dígitos hex, o valor provavelmente foi codificado duas vezes. Decodifique duas vezes para recuperar o original.