Caracteres comuns
Por que URLs precisam de escape
Uma URL só carrega um conjunto limitado de caracteres ASCII. Todo o resto — espaços, acentos, alfabetos não latinos e os reservados como ? & = # — precisa virar %XX, um par por byte de UTF-8.
Espaço nem sempre é %20
No caminho, espaço é %20. Na query string, formulários tradicionalmente escrevem +. Os dois voltam a ser espaço, mas não são intercambiáveis em todo lugar — veja em que parte da URL você está.
Já que está aqui — garanta um bônus de corretora
Mais calculadoras
Perguntas frequentes
Q. Por que um caractere vira vários %XX?
Porque a codificação trabalha com bytes, não com caracteres. Um caractere fora do ASCII ocupa de dois a quatro bytes em UTF-8, e cada byte ganha seu par.
Q. Devo codificar a URL inteira?
Não. Isso escaparia as barras e os dois-pontos que dão estrutura à URL. Codifique apenas os valores que você insere nela.
Q. Quais caracteres são reservados?
Os que têm função na sintaxe: : / ? # [ ] @ ! $ & ' ( ) * + , ; =. Codifique-os quando aparecerem dentro de um valor, e não como separadores.