Codificar URL
Codifique e decodifique componentes de URL
O que é codificação de URL / percentual?
URLs só podem conter um pequeno conjunto de caracteres ASCII. Qualquer outra coisa — espaços, letras acentuadas, emoji, caracteres reservados como `&`, `=`, `?` — deve ser codificada em percentual como `%` seguido por dois dígitos hexadecimais representando os bytes UTF-8. Um espaço se torna `%20`, `é` se torna `%C3%A9`, o ponto de interrogação se torna `%3F`.
Use a codificação 'componente' ao escapar uma única parte (um valor de parâmetro de consulta, um segmento de caminho) — equivalente ao `encodeURIComponent` do JavaScript. Use a codificação 'URL completa' ao escapar uma URL inteira que já possui delimitadores estruturais que você deseja preservar — equivalente ao `encodeURI`.
Casos de uso
- Construir strings de consulta — codifique em percentual a entrada do utilizador antes de inseri-la nos parâmetros `?q=`.
- Inspecionar logs do servidor — decodifique URLs embaralhadas para ler o caminho original (`/Users/%E4%B8%AD%E6%96%87/...`).
- Depurar redirecionamentos OAuth — cole um `redirect_uri` para ver exatamente o que o callback OAuth decodificou.
- Ler exemplos de curl — copie uma URL codificada em percentual de um tutorial e decodifique-a para entender a solicitação.
Exemplos
| Entrada | Resultado |
|---|---|
| hello world & friends | hello%20world%20%26%20friends |
| café/menu?id=123 | caf%C3%A9%2Fmenu%3Fid%3D123 (component) or caf%C3%A9/menu?id=123 (full URL) |
Perguntas frequentes
Qual é a diferença entre encodeURI e encodeURIComponent?
`encodeURI` deixa os caracteres estruturais da URL (`:`, `/`, `?`, `#`, `&`, `=`) intactos — para codificar uma URL inteira. `encodeURIComponent` também escapa esses caracteres — para codificar uma única parte que vai em uma URL.
Ele pode lidar com caracteres não ASCII?
Sim. Caracteres fora do ASCII são codificados como seus bytes UTF-8 (1–4 bytes), cada um representado como `%XX`.
O `+` é interpretado como um espaço ao decodificar?
Não. Esta ferramenta usa decodificação padrão de URL, que deixa `+` inalterado. A regra `+`-significa-espaço é específica para dados de formulário `application/x-www-form-urlencoded`, e esta ferramenta não tem um modo de decodificação de formulário separado.
Por que minha URL quebra após a codificação?
Você codificou caracteres estruturais (`:`, `/`, `?`, `#`) que precisavam permanecer literais. Esta ferramenta sempre faz codificação de componentes (`encodeURIComponent`), que os escapa — então codifique apenas os valores de consulta individuais ou segmentos de caminho, não a URL inteira.
Algo é enviado?
Não — a codificação e decodificação ocorrem inteiramente no seu navegador.
