As funções encodeURI e decodeURI são utilizadas para converter caracteres que não podem ser enviados numa URI(ou URL) seguramente sem provocar confusões ou serem interpretados pelo browser codificando estes para UTF-8 e assim podem ser enviados seguramente numa URI ou URL.
URI Segundo a Wikipedia, Uniform Resource Identifier (URI) é um termo técnico (ou sigla da tecnologia da informação) que foi traduzido para a língua portuguesa como um "identificador uniforme de recurso", é uma cadeia de caracteres compacta usada para identificar ou denominar um recurso na Internet. O principal propósito desta identificação é permitir a interação com representações do recurso através de uma rede, tipicamente a Rede Mundial, usando protocolos específicos. URIs são identificados em grupos definindo uma sintaxe específica e protocolos associados.
URI para você pode ser novidade mas com certeza URL não é.
Um dos pilares da Internet é identificar quem esta enviando e quem esta recebendo.
Se algum desses dois itens forem perdidos todo processo de comunicação
pela Internet fica sem sentido pois se você não sabe a quem entregar o pacote de dados
ou quem deve receber o pacote de informação não faz sentido haver comunicação.
Exemplo : Digite uma url :
Importante : Lembre-se que cols="100" rows="3" só funciona porque é uma tag
textarea e que style="width:300px; height50px" não funcionaria no input type text
porque ela é uma tag inline e seu tamanho é determinado dinâmicamente pelo
browser.
Código utilizado para realizar a função acima:
<script>
function CodificarURL() {
var x = document.getElementById("txt1");
var codificado = encodeURI(x.value);
x.value = codificado;
}
function DecodificarURL() {
var x = document.getElementById("txt1");
var decodificado = decodeURI(x.value);
x.value = decodificado;
}
</script>
Exemplo : Digite uma url : <br />
<textarea id="txt1" cols="80" rows="2">Isto é um teste da função encodeURI</textarea>
<input type="button" value="Codificar" onclick="CodificarURL();" />
<input type="button" value="Decodificar" onclick="DecodificarURL();" />