美文网首页
vue 基于pako.js实现gzip的压缩和解压功能

vue 基于pako.js实现gzip的压缩和解压功能

作者: 超人_22 | 来源:发表于2020-07-22 15:13 被阅读0次

后台返回的数据是gzip 加密过的,需要解压数据,如下图所示:


image.png

我们需要上图标出来的加密数据进行解密出来
1 安装 :

npm install pako

2 使用

//先导入pako
import pako from 'pako'
// b64Data-->传入加密的数据进行解密
function unzip(b64Data) {
  var strData = atob(b64Data)
  // Convert binary string to character-number array
  var charData = strData.split('').map(function(x) { return x.charCodeAt(0) })
  // Turn number array into byte-array
  var binData = new Uint8Array(charData)
  // // unzip
  var data = pako.inflate(binData)
  // Convert gunzipped byteArray back to ascii string:
  strData = String.fromCharCode.apply(null, new Uint16Array(data))
  return strData
}

// 加密
function zip(str){
  var binaryString = pako.gzip(str, { to: 'string' })
  return btoa(binaryString)
}

// 需要解压的数据:H4sIAAAAAAAAAKtWKi5JLCktVrIy01FKK81zzk9JVbJSqiqPT0xJUdKBMazMagEMFsdxKgAAAA
// 解压后的数据
{"status":6,"funCode":"zw_add","zw_add":6}

相关文章

网友评论

      本文标题:vue 基于pako.js实现gzip的压缩和解压功能

      本文链接:https://www.haomeiwen.com/subject/izttlktx.html