Codificação de URL
Alguns caracteres não podem aparecer em URLs (por exemplo, espaços), outros têm significados especiais em URLs. Precisamos converter caracteres especiais para se conformarem à sintaxe definida na especificação do URI do W3 (RFC 3986). Isso significa que URLs devem conter apenas um subconjunto de um caractere ASCII especial: as letras e números com os quais estamos familiarizados, assim como alguns caracteres reservados que são usados como caracteres de controle na URL.
Processamento de codificação de URL em JavaScript
Em JavaScript, tanto as funções embutidas encodeURIComponent() quanto encodeURI() podem ser codificadas por URL, substituindo os caracteres reservados na URL por seus caracteres codificados em UTF-8.
A maioria dos navegadores codifica automaticamente URLs, como codificar espaços para %20, mas sempre há algumas exceções. Felizmente, os navegadores oferecem funções integradas de codificação e decodificação de URLs: encodeURI, encodeURIComponent e decodeURI, decodeURIComponent. A questão é como usar essas funções e qual é a diferença entre elas.
encodeURI()
Codificar uma string por URL é fácil, basta chamar o encodeURI e passar a string que você quer codificar. Essa função retorna a URL codificada.
decodeURI()
Essa função decodifica e chama a função decodeURI, passando a cadeia codificada, e então retorna a cadeia normal decodificada.
encodeURIComponent()
A função encodeURIComponent deve ser usada para codificar os valores dos parâmetros da cadeia de consulta. A diferença entre encodeURI e encodeURIComponent é que encodeURIComponent codifica toda a cadeia, enquanto encodeURI ignora o prefixo do protocolo ('http://'), assim como o nome do domínio. encodeURIComponent foi projetado para codificar tudo, enquanto encodeURI ignora a parte do nome de domínio da URL. Quando vocêQuando quiser codificar o valor do parâmetro na URL, selecione a função encodeURIComponent。
decodeURIComponent()
A função decodeURIComponent irá decodificar a cadeia codificada da função encodeURIComponent e restaurá-la ao seu conteúdo normal.
Revisar:
|