Sobre esta ferramenta
A codificação de URL (também chamada de codificação em porcentagem) substitui caracteres que têm significado especial ou que não são permitidos em uma URL por um sinal de porcentagem seguido de seu valor de byte hexadecimal — um espaço vira %20, um e comercial vira %26, e assim por diante. O JavaScript oferece duas variantes: encodeURIComponent escapa quase tudo, incluindo delimitadores reservados como &, =, ?, e /, o que o torna adequado para um único valor como um parâmetro de string de consulta, enquanto encodeURI deixa intactos os caracteres estruturais de uma URL completa para que o endereço continue utilizável.
Use-o para inserir com segurança um valor em uma string de consulta, depurar um link cujos caracteres especiais ou Unicode foram corrompidos, ou ler de volta o que uma URL de redirecionamento ou de rastreamento codificada realmente contém. Mude para o modo Decode para converter %20 e similares de volta em texto legível, escolha o escopo Component ou Full URL conforme a forma como a string foi produzida, e ative "+ as space" quando estiver decodificando strings de consulta de formulário onde os espaços foram enviados como sinais de mais.
encodeURIComponent escapa os delimitadores reservados &, =, ?, e / enquanto encodeURI os deixa intactos — use Component para um único valor e Full URL apenas para um endereço completo.
Perguntas frequentes
Qual é a diferença entre encodeURIComponent e encodeURI?
encodeURIComponent escapa caracteres de URL reservados como &, =, ?, e /, por isso é destinado a um único valor como um parâmetro de string de consulta. encodeURI preserva esses caracteres estruturais, por isso é destinado a codificar uma URL completa sem quebrá-la.
Por que + às vezes significa um espaço em uma URL?
Em strings de consulta application/x-www-form-urlencoded (a forma como os formulários HTML enviam dados), os espaços são codificados como + em vez de %20. Os decodificadores de URL padrão não convertem + de volta em espaço, então ative a opção "+ as space" ao decodificar strings de consulta de formulário.
O que significa "Malformed percent-encoding" ao decodificar?
Significa que a entrada contém um % que não é seguido por dois dígitos hexadecimais válidos, ou uma sequência multibyte incompleta como %E0%A4%A. O decodificador não consegue interpretar esses bytes, então relata um erro em vez de retornar um texto parcial e corrompido.