用JS解析GBK编码的中文

栏目: JavaScript · 发布时间: 5年前

内容简介:在很久远的VM页面代码(2014年的代码)中进行落数,需要传一个keyWord(搜索关键词)参数,后端数据中没有返回,其他地方也无从获取,前端考虑从页面url中获取,通过一般前端方法进行解析后,并没有什么卵用。看了下页面的编码格式是gbk,返回的是gbk的编码,这种编码js是无法直接解析的,只能创建一个html节点,字符放进去然后取出来应该才可以。用script标签来解析,其实就是需要让浏览器能识别这个gbk编码,因为js本身没有gbk编码转换的

在很久远的VM页面代码(2014年的代码)中进行落数,需要传一个keyWord(搜索关键词)参数,后端数据中没有返回,其他地方也无从获取,前端考虑从页面url中获取,通过一般前端方法进行解析后,并没有什么卵用。

问题剖析

看了下页面的编码格式是gbk,返回的是gbk的编码,这种编码js是无法直接解析的,只能创建一个html节点,字符放进去然后取出来应该才可以。

问题解决

用script标签来解析,其实就是需要让浏览器能识别这个gbk编码,因为js本身没有gbk编码转换的

代码

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%C7gbk%B1%E0%C2%EB',(res) => {
    console.log(res);
})
复制代码

相关拓展

data类型的Url大致有下面几种形式。

data:,<文本数据>

data:text/plain,<文本数据>

data:text/html,<html代码>

data:text/html;base64,<base64编码的html代码>

data:text/css,<css代码>

data:text/css;base64,<base64编码的css代码>

data:text/javascript,<javascript代码>

data:text/javascript;base64,<base64编码的javascript代码>

data:image/gif;base64,base64编码的gif图片数据

data:image/png;base64,base64编码的png图片数据

data:image/jpeg;base64,base64编码的jpeg图片数据

data:image/x-icon;base64,base64编码的icon图片数据
复制代码

data格式的Url最直接的好处是,这些Url原本会引起一个新的网络访问,因为那里是一个网页的地址,现在不会有新的网络访问了,因为现在这里是网页的内 容。这样做,会减少服务器的负载,当然同时也增加了当前网页的大小。所以对“小”数据特别有好处。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript and Ajax for the Web, Sixth Edition

JavaScript and Ajax for the Web, Sixth Edition

Tom Negrino、Dori Smith / Peachpit Press / August 28, 2006 / $24.99

Book Description Need to learn JavaScript fast? This best-selling reference’s visual format and step-by-step, task-based instructions will have you up and running with JavaScript in no time. In thi......一起来看看 《JavaScript and Ajax for the Web, Sixth Edition》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具