最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

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

JS/CSS 太平洋学习网 浏览 评论

我们都知道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

与本文相关的文章

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)

网友最新评论