java对数据gzip解压对应JavaScript用pako.js要如何对数据压缩?
遇到问题:js压缩之后,服务端解压失败,算法不一致,目前java端对接多个平台,无法调整解压方式,js端应该如何压缩才能在服务端正常解压?
回答:
引入pako.js
压缩
function zip(str) { var uint8Array = pako.gzip(str, { to: 'string' });
var fromCharCodeArr = [];
uint8Array.forEach(function(e){
fromCharCodeArr.push(String.fromCharCode(e));
})
return btoa(fromCharCodeArr.join(''));
}
解压
function unzip(b64Str){ var str = atob(b64Str);
var charCodeAtArray = str.split('').map(function(e){return e.charCodeAt(0)});
var uint8Array = new Uint8Array(charCodeAtArray);
var data = pako.inflate(uint8Array);
return String.fromCharCode.apply(null, new Uint16Array(data));
}
回答:
javascript有兼容gzip压缩支持库,你找一个来用就好,比如 pako.js
以上是 java对数据gzip解压对应JavaScript用pako.js要如何对数据压缩? 的全部内容, 来源链接: utcz.com/p/944136.html