Codificação percentual de URL, codifique e decodifique, com suporte a caracteres não-ASCII
A codificação URL (também chamada de codificação percentual) é um mecanismo que converte caracteres especiais em uma URL em um % seguido de dois dígitos hexadecimais. Segundo a RFC 3986, uma URL só pode conter um subconjunto de caracteres ASCII; outros caracteres (como caracteres não-ASCII, espaços e símbolos especiais) devem ser codificados.
Em JavaScript, encodeURIComponent() codifica parâmetros de consulta de URL — codifica todos os caracteres, exceto A-Z a-z 0-9 - _ . ! ~ * ' ( ). encodeURI() preserva os caracteres estruturais da URL (como : / ? # & =).
Cenários comuns de codificação URL incluem: codificação de parâmetros de requisição AJAX, tratamento de caracteres não-ASCII em caminhos de URL e codificação de parâmetros em assinaturas OAuth.
Entrada: Olá, Mundo! → Saída: Ol%C3%A1%2C%20Mundo!
Entrada: hello world! → Saída: hello%20world!
encodeURI não codifica os caracteres estruturais da URL (:/?#&=+@$), sendo adequada para codificar uma URL completa; encodeURIComponent codifica mais caracteres e é adequada para codificar valores de parâmetros de consulta. Esta ferramenta usa encodeURIComponent.encodeURIComponent codifica um espaço como %20. No formato application/x-www-form-urlencoded (como envio de formulário), os espaços são codificados como +. Ambos são válidos.%XX, incluindo letras e dígitos ASCII. É útil em casos especiais, como quando você precisa ocultar totalmente o conteúdo da URL.