ElTicus.com

Programación, lenguajes y recursos para programadores

Recurso no clasificado
Las funciones para codificar y descodificar un URL (código fuente)
URLENCODE y URLDECODE implementados
Publicado por jl Fecha: 2009-03-17 22:37:24 Idioma: Español Tipo de documento: Código

Las funciones para codificar y descodificar un URL implementadas en Javascript

Código fuente que implementa las funciones URLENCODE y URLDECODE. Estas funciones son originarias de PHP pero en ocasiones es necesario implemntarlas en algún otro lenguaje. Aquí están en Javascript.
Desde este código es relativamente fácil pasarlo a otro lenguaje como Visual Basic o ASP.


function URLEnc( )
{
var nocodificar = "0123456789"+"ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"abcdefghijklmnopqrstuvwxyz" +"-_.!~*'()";
var HEX = "0123456789ABCDEF";
var textoAcodificar = document.Form1.encode.value;
var codificado = "";
for (var i = 0; i < textoAcodificar.length; i++ ) {
var ch = textoAcodificar.charAt(i);
    if (ch == " ") {
    codificado += "+";
} else if (nocodificar.indexOf(ch) != -1) {
    codificado += ch;
} else {
    var charCode = ch.charCodeAt(0);
if (charCode > 255) {
    alert( "Caracter Unicode '"+ch+"' no puede ser codificado utilizando la codificación URL estandar.\n" +
          "(sólo soporta caracteres de 8-bit.)\n" +
  "Será sustituido por un símbolo de suma (+)." );
codificado += "+";
} else {
codificado += "%";
codificado += HEX.charAt((charCode >> 4) & 0xF);
codificado += HEX.charAt(charCode & 0xF);
}
}
}
document.Form1.decode.value = codificado;
return false;
};


function URLDec( ){
   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var codificado = document.Form1.decode.value;
   var textoAcodificar = "";
   var i = 0;
   while (i < codificado.length) {
       var ch = codificado.charAt(i);
   if (ch == "+") {
       textoAcodificar += " ";
   i++;
   } else if (ch == "%") {
if (i < (codificado.length-2) 
&& HEXCHARS.indexOf(codificado.charAt(i+1)) != -1 
&& HEXCHARS.indexOf(codificado.charAt(i+2)) != -1 ) {
textoAcodificar += unescape( codificado.substr(i,3) );
i += 3;
} else {
alert( 'Bad escape combination near ...' + codificado.substr(i) );
textoAcodificar += "%[ERROR]";
i++;
}
} else {
   textoAcodificar += ch;
   i++;
}
} 
   document.Form1.encode.value = textoAcodificar;
   return false;
};


En otro artículo encontrarás estas mismas funciones pero implementadas en Visual Basic.
Búscalas!




Nadie ha puesto ningún comentario todavía


Haz un comentario sobre este tema
Nombre email (no se muestra)
comentario:
Escribe las 2 letras que ves aquí: Imagen anti-spam =




No hay comentarios

Artículos relacionados:
Recurso no clasificado Las funciones para codificar y descodificar un URL (código fuente en Visual Basic)