Decodifique URLs com codificação percentual de volta para texto legivel. Converte %20 em espaços, %2F em barras e decodifica sequencias UTF-8.
A string codificada neste exemplo e decodificada para: https://example.com/search?q=café & resumo&page=1. A decodificação percentual é o inversó da codificação percentual: cada sequencia %XX e convertida de volta para seu caractere. Sequencias multibyte UTF-8 como %C3%A9 são decodificadas para seu caractere Unicode (e). Use isto ao ler logs de servidor, depurar redirecionamentos ou inspecionar URLs de rastreamento.
Servidores web registram a URI de requisição original incluindo qualquer codificação. Um usuário pesquisando por “café” gera uma linha de log como:
GET /search?q=café%20&%20resumo HTTP/1.1
Links de rastreamento de email e redes de anuncios aninham URLs inteiras dentro de parametros de consulta. A URL interna e codificada percentualmente, as vezes varias vezes:
https://click.example.com/track?url=https%3A%2F%2Ftarget.com%2Fpath%3Futm_source%3Demail
decodeURI("https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dcafe")
// → "https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dcafe"
decodeURIComponent("https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dcafe")
// → "https://example.com/search?q=café"
const params = new URLSearchParams("q=café%20%26%20resumo");
params.get("q"); // → "café & resumo"
from urllib.parse import unquote, unquote_plus
unquote("café%20%26%20resumo") # → "café & resumo"
unquote_plus("café+latte") # → "café latte"
from urllib.parse import parse_qs
parse_qs("q=café%20%26%20resumo") # → {"q": ["café & resumo"]}
python3 -c "from urllib.parse import unquote; print(unquote('café%20%26%20resumo'))"
node -e "console.log(decodeURIComponent('café%20%26%20resumo'))"
A dupla codificação acontece quando uma string ja codificada e codificada novamente. O sinal de porcentagem % codifica para %25, transformando %20 em %2520.
Original: ola mundo
Codificada uma vez: ola%20mundo
Codificada duas vezes: ola%2520mundo
Para recuperar o valor original, aplique o decodificador duas vezes.
A especificação RFC 3986 trata diferentes partes de uma URL de forma diferente:
| Componente | Delimitadores estruturais | Codificação tipica |
|---|---|---|
| Caminho | / separa segmentos |
Codifique barras de dados como %2F |
| String de consulta | & separa pares, = separa chave/valor |
Codifique & e = de dados como %26 e %3D |
| Fragmento | # inicia o fragmento |
Codifique # como %23 |
O caractere de espaco tem duas codificações em strings de consulta: %20 (codificação percentual estrita segundo RFC 3986) e + (codificação de formulario HTML). Ambos estão em uso comum. %20 e sempre seguro. + só e correto no contexto de string de consulta, nunca no caminho.
Para codificar URLs corretamente ao construi-las em código, use o Codificador de URL em vez de manipulação manual de strings.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.