js html url编码,js URLdecode()与urlencode方法支持中文解码

下面来介绍在js中来利用urlencode对中文编码与接受到数据后利用URLdecode()对编码进行解码,有需要学习的机友可参考参考。

代码如下

复制代码

Function str2asc(strstr)

str2asc = hex(asc(strstr))

End Function

Function asc2str(ascasc)

asc2str = chr(ascasc)

End Function

function UrlEncode(str){

var ret="";

var strSpecial="!"#$%&'()*+,/:;<=>?[]^`{|}~%";

for(var i=0;i

var chr = str.charAt(i);

var c=str2asc(chr);

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;

}

用这样的办法调用:

代码如下

复制代码

alert(UrlEncode("孙毓波大好人"));

解码办法

代码如下

复制代码

function UrlDecode(zipStr){

var uzipStr="";

for(var i=0;i

var chr = zipStr.charAt(i);

if(chr == "+"){

uzipStr+=" ";

}else if(chr=="%"){

var asc = zipStr.substring(i+1,i+3);

if(parseInt("0x"+asc)>0x7f){

uzipStr+=decodeURI("%"+asc.toString()+zipStr.substring(i+3,i+9).toString());

i+=8;

}else{

uzipStr+=AsciiToString(parseInt("0x"+asc));

i+=2;

}

你可能感兴趣的:(js,html,url编码)