﻿function UrlDecode(str){ 
    var ret="";
    if(str != null)
    {
        for(var i=0;i<str.length;i++){ 
            var chr = str.charAt(i); 
            if(chr == "+"){ 
                ret+=" "; 
            }else if(chr=="%"){ 
                var asc = str.substring(i+1,i+3); 
                if(parseInt("0x"+asc)>0x7f){ 
                    ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6))); 
                    i+=5; 
                }else{ 
                    ret+=asc2str(parseInt("0x"+asc)); 
                    i+=2; 
                } 
            }else{ 
                ret+= chr; 
            } 
        } 
     }
     return ret;
}   
function UrlEncode(str){ 
    var ret=""; 
    var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%"; 
    var tt= "";
    if(str != null)
    {
        for(var i=0;i<str.length;i++){ 
            var chr = str.charAt(i); 
            var c=str2asc(chr); 
            tt += chr+":"+c+"n"; 
            if(parseInt("0x"+c) > 0x7f){ 
                ret+="%"+c.slice(0,2)+"%"+c.slice(-2); 
            }else{ 
                if(chr==" ") 
                    ret+="+"; 
                else if(strSpecial.indexOf(chr)!=-1) 
                    ret+="%"+c.toString(16); 
                else 
                    ret+=chr; 
            } 
        }
    }
    return ret; 
}
