网站地图    收藏   

主页 > 前端 > javascript >

js URLdecode()与urlencode方法支持中文解码

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

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

 代码如下 复制代码


<script language="vbscript">
Function str2asc(strstr)
str2asc = hex(asc(strstr))
End Function
Function asc2str(ascasc)
asc2str = chr(ascasc)
End Function
</script>
<script language="javascript" type="text/javascript">
function UrlEncode(str){
   var ret="";
   var strSpecial="!"#$%&'()*+,/:;<=>?[]^`{|}~%";
   for(var i=0;i<str.length;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;
}
</script>

用这样的办法调用:

 代码如下 复制代码

<script language="javascript" type="text/javascript">
alert(UrlEncode("孙毓波大好人"));
</script>


解码办法

 代码如下 复制代码

function UrlDecode(zipStr){ 
    var uzipStr=""; 
    for(var i=0;i<zipStr.length;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; 
            } 
        }else{ 
            uzipStr+= chr; 
        } 
    } 
 
    return uzipStr; 

 
function StringToAscii(str){ 
    return str.charCodeAt(0).toString(16); 

function AsciiToString(asccode){ 
    return String.fromCharCode(asccode); 
}

用法

使用方法

 代码如下 复制代码

var str = '%e7%90%bc%e5%8f%b0%e5%8d%9a%e5%ae%a2';
var destr = UrlDecode(str);
alert(destr);

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论