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

回到顶部