O que é codificação de URL
A codificação de URL, também chamada de codificação percentual, substitui caracteres que não são seguros em um endereço da Web por um sinal de porcentagem seguido de um código. Um espaço se torna %20, um E comercial se torna %26 e assim por diante. Isso permite que você coloque qualquer texto, espaços, acentos, símbolos em um URL sem quebrá-lo. Esta ferramenta codifica texto para uso seguro em URLs e decodifica texto codificado por porcentagem de volta para um formato legível.
Por que é necessário
Os URLs têm um conjunto limitado de caracteres que podem conter com segurança. Quando você coloca um termo de pesquisa, um valor de parâmetro ou um segmento de caminho que inclui espaços, barras, pontos de interrogação ou letras que não sejam do inglês diretamente em um URL, esses caracteres podem ser mal interpretados e quebrar o link. A codificação os converte em uma representação segura que os servidores e navegadores decodificam corretamente. Qualquer pessoa que crie strings de consulta, chamadas de API ou links programaticamente precisa disso constantemente.
Codificação e decodificação
A codificação pega texto legível e o torna seguro para URL, essencial ao construir um link ou parâmetro de consulta. A decodificação faz o inverso, transformando uma string codificada por porcentagem novamente em texto legível, o que é útil quando você está lendo um URL que alguém lhe enviou, depurando uma chamada de API ou inspecionando o que um parâmetro realmente contém. Esta ferramenta faz as duas coisas com um clique cada e lida corretamente com caracteres acentuados e não ingleses por meio de UTF-8.
Situações comuns
Construir um URL de pesquisa onde a consulta contenha espaços e símbolos. Passar um valor que inclui um sinal de E comercial ou de igual por meio de um parâmetro de consulta sem quebrar a estrutura do URL. Ler um URL longo e codificado para entender o que ele aponta. Construindo solicitações de API onde os parâmetros devem ser codificados. Como ele é executado em seu navegador, você pode codificar ou decodificar com segurança valores que contenham dados confidenciais.
O que é codificação de URL
A codificação de URL, também chamada de codificação percentual, substitui caracteres inseguros ou reservados em um URL por um sinal de porcentagem seguido por dois dígitos hexadecimais. Um espaço se torna %20, um E comercial se torna %26 e assim por diante. Os URLs são limitados a um pequeno conjunto de caracteres ASCII pelo padrão RFC 3986, portanto, qualquer coisa fora desse conjunto, espaços, acentos, emoji ou símbolos reservados como? & = # quando usado como dados, deve ser codificado para viajar do navegador ao servidor sem quebrar a estrutura da URL.
encodeURI versus encodeURIComponent
JavaScript oferece duas funções de codificação, e escolher errado é um bug comum. encodeURIComponent codifica tudo reservado e é o que você deseja para valores individuais colocados em uma string de consulta, um termo de pesquisa, um valor de parâmetro, um destino de redirecionamento. encodeURI preserva caracteres de estrutura de URL como / ? & = e destina-se a codificar um URL inteiro, mantendo-o funcional. A regra prática: use encodeURIComponent para os valores dentro de uma URL e encodeURI apenas para uma URL inteira. Esta ferramenta codifica componentes, que é o que você precisa na maioria das vezes.
Erros comuns de codificação de URL
Dois bugs dominam. A codificação dupla acontece quando você codifica uma string que já está codificada, %20 se torna %2520, o que quebra o link; codifique apenas texto bruto, nunca um URL já codificado, e decodifique primeiro se não tiver certeza. A outra é a ambiguidade do sinal de mais: em uma string de consulta, + pode significar um espaço (da codificação do formulário HTML), mas em um caminho de URL é um sinal de mais literal. Em caso de dúvida, use %20 para um espaço que seja inequívoco em todos os lugares. Lembre-se também de que um & não codificado dentro de um valor será mal interpretado como um separador de parâmetros, dividindo seus dados.