js url解码gbk_JS解析urlencode编码(gbk或utf-8版中文编码均可解析)

  • Post author:
  • Post category:其他


我们都知道urlencode编码一般用于url网址中,它的格式是带有%符号的十六进制编码,起着保护隐私的作用,例如这段url编码“%ce%d2%ca%c7%d6%d0%b9%fa%c8%cb(我是中国人)”,是gbk版本的,那么我们该如何来使用js解析这一段gbk2313的编码呢?代码如下://gbkStr是urlencode编码,作为参数传入

function gbkconvert(gbkStr, callback) {

var script = document.createElement(‘script’);

script.id = ‘gbkconvert’;

script.src = ‘data:text/javascript;charset=gbk,gbkconvertCb(“‘ + gbkStr + ‘”);’;

document.body.appendChild(script);

window.gbkconvertCb = (res) => {

callback && callback(res);

};

}

//使用解码函数,获得回调结果

gbkconvert(‘%ce%d2%ca%c7%d6%d0%b9%fa%c8%cb’,(res) => {

console.log(res); //输出我是中国人

})

代码分析:

本次js代码使用了一个callback回调函数,其实js本身没有urldecode这样的解码功能,这个函数的原理是定义script标签,添加到document对象中,来让浏览器识别gbk编码,然后打印出来。

提醒:

如果想要使用js来解析utf-8版的urlencode编码,则只需将上方函数中的“charset=gbk” 改成 “charset=utf-8” 即可。

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/js_css/949.html



版权声明:本文为weixin_33277412原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。