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

作者:_iorilan 时间:2024-04-22 22:14:41 

本文实例讲述了基于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>

运行效果图如下:

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

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

或者点击此处本站下载

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

标签:pako.js,gzip,压缩,解压
0
投稿

猜你喜欢

  • python中OrderedDict的使用方法详解

    2023-08-26 14:00:40
  • Python全栈之正则表达式

    2022-09-12 16:17:09
  • 2008年个性设计挂历参考

    2007-12-29 20:30:00
  • Python机器学习性能度量利用鸢尾花数据绘制P-R曲线

    2023-01-27 20:55:48
  • Python运行出现DeprecationWarning的问题及解决

    2022-01-14 05:26:23
  • python 数据类(dataclass)的具体使用

    2022-11-08 09:36:27
  • Python游戏开发之Pygame使用的最全教程分享

    2021-01-11 05:45:55
  • ASP页面内VBScript和JScript的交互

    2007-09-11 13:49:00
  • JS+HTML5 canvas绘制验证码示例

    2023-07-19 11:23:53
  • javascript forEach通用循环遍历方法

    2024-04-29 13:19:14
  • JavaScript中的Math.atan2()方法使用详解

    2024-05-03 15:57:13
  • python 格式化输出百分号的方法

    2023-07-17 08:23:27
  • numpy自动生成数组详解

    2023-09-02 22:53:47
  • Python 中pandas索引切片读取数据缺失数据处理问题

    2021-06-02 05:13:28
  • python中函数默认值使用注意点详解

    2021-01-26 12:36:44
  • 如何使用Python破解ZIP或RAR压缩文件密码

    2022-03-24 19:28:45
  • MySQL之xtrabackup备份恢复的实现

    2024-01-15 06:59:08
  • mysql 超大数据/表管理技巧

    2024-01-16 22:14:05
  • Sql Server 无日志文件附加

    2010-05-30 11:23:00
  • Python脚本提取fasta文件单序列信息实现

    2023-03-06 12:55:02
  • asp之家 网络编程 m.aspxhome.com