在javascript里面对中文进行gbk格式的url编码

本文介绍了一种使用JavaScript实现中文内容的GBK格式URL编码的方法。通常的JavaScript内置函数只能完成UTF-8格式的编码,而本文提供的自定义函数asfman.urlEncode能够针对中文字符进行GBK编码,适用于需要GBK编码格式的场景。

前些日子,想把中文进行gbk格式的url编码,发现常用的escape、encodeURI、encodeURIComponent方法只能进行utf-8格式的url编码。

 

后来在网上找到一个方法,可以进行gbk格式的url编码

 

var asfman = {};   
asfman.urlEncode = function(str)   
{   
    window.execScript("Function vbsFun(str):vbsFun=hex(asc(str)):End Function","vbscript");   
    var gObject={};   
    return str.replace(/[\x00-\xff]/g,function(a)   
    {   
        return a.replace(/[^0-9a-zA-Z]/g,function(b){   
        if(!gObject[b])   
        gObject[b]="%"+vbsFun(b);   
        return gObject[b];   
        })   
    }).replace(/[^\x00-\xff]/g,function(c){   
        return c.replace(/./g,function(d)   
        {   
            if(!gObject[d])   
            gObject[d]= vbsFun(d).replace(/(..)(..)/,"%$1%$2");   
            return gObject[d];   
        })   
    }).replace(/%20/g,"+")   
};  alert(asfman.urlEncode('美女'));

 

 调用就用asfman.urlEncode(中文内容)。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值