GZIP壓縮,GZIP解壓需要用到 pako.js 文件:下載地址:https://download.csdn.net/download/qq_35713752/10627338
使用方法:
JS壓縮和解壓:
var pako = require('../../utils/pako.min.js');
Page({
data: {
},
onShow: function () {
var key = 'absd';
var _data = '{"body":{"banners":[],"ptypes":[{"addr":1,"productTypes":[1]},{"addr":2,"productTypes":[2]},{"addr":3,"productTypes":[3]}]},"success":true}';
var data = zip(_data);
console.log("壓縮data:",data);
console.log("解壓壓縮后的data:",unzip(data));
var time = new Date().getTime();
for (let i = 0; i < 1000; i++) {
zip(_data)
}
console.log('壓縮一千次使用時間/毫秒:', new Date().getTime() - time)
},
})
// 解壓
function unzip(key) {
// 將二進制字符串轉換為字符數組
var charData = key.split('').map(function (x) { return x.charCodeAt(0); });
console.log('壓縮后的文件大小:', charData.join(","))
// 將數字數組轉換成字節數組
var binData = new Uint8Array(charData);
// 解壓
var data = pako.inflate(binData);
// 將GunZip ByTAREAR轉換回ASCII字符串
key = String.fromCharCode.apply(null, new Uint16Array(data));
//unescape(str) --->解壓后解碼,防止中文亂碼
return unescape(key);
}
// 壓縮
function zip(str) {
//escape(str) --->壓縮前編碼,防止中文亂碼
var binaryString = pako.gzip(escape(str), { to: 'string' });
return binaryString;
————————————————
版權聲明:本文為CSDN博主「a_靖」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_35713752/article/details/82079629