JavaScript - EncodeURI

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();" />