当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 基于pako.js实现gzip的压缩和解压功能示例

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

本文实例讲述了基于pako.js实现gzip的压缩和解压功能。分享给大家供大家参考,具体如下:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>pako.js实现gzip的压缩和解压</title>
</head>
<body>
<script type="text/javascript" src="pako.js"></script>
<script >
var b64data   = 'h4siaaaaaaaaaj3umq7cmawf0kugp2ewezdpcxxuabwaoihumqcqdyevqaobfgxiyl8hp5zxnedkenek6vugxtblonc4zmjhfy/5wm511ekdtsoclkvp2rlikoa2jtubot/cr7bhobewsbaloy8kdgyqoq5h/ohsdwq21ccmaspcz0l2jcyoglhhngw4tt1yvmbpus9pzhwy35siqnxvimevpe9fy4peqhfbho0fdnufqwaeaaa=';
var ticketdata = '{"ed":"20170121 09:44:01","fs":[{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"003","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"005","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"004","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"007","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"008","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"026","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"033","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"034","oids":["0"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"035","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"037","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"038","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"041","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"042","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"047","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"046","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"048","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"051","oids":["1"]},{"usg":[1,1,1,1,1,1,1],"act":0,"fid":"053","oids":["4"]}],"qty":1,"sd":"20161021 09:44:01","cd":"72016102116762039687"}';
// output to console
var s = unzip(b64data);
console.log("unzipped:");
console.log(s);
var data = zip(ticketdata);
console.log("zipped:");
console.log(data);
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);
}
</script>
</body>
</html>

运行效果图如下:

poko.js可至github下载:https://github.com/nodeca/pako

或者点击此处。

更多关于javascript相关内容可查看本站专题:《javascript中json操作技巧总结》、《javascript查找算法技巧总结》、《javascript错误与调试技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》及《javascript数学运算用法总结

希望本文所述对大家javascript程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网