小游戏发送二进制数据gzip数据转换成json

  • Creator 版本: 2.4.3

  • 目标平台: 微信小游戏

使用post发送给服务器信息,但是考虑到信息比较大,使用pako进行gzip压缩。在网页上是可以正常压缩,发送,但是到了小游戏平台会编码成json格式,导致服务器处理出错

req.setRequestHeader(‘content-type’, ‘application/json’)
req.setRequestHeader(‘Content-Encoding’, ‘gzip’);
let gzipStr = pako.gzip(sendStr, {to:‘string’})
req.send(gzipStr);

请问有何方法解决吗

再做一次base64编码,但可能导致你白压缩,b64后的数据会增长33%,很可能抵消压缩的优势

嗯,这个感觉可行,不过需要服务器支持一下,我试试看。 我们纯文本的json格式压缩之后大小是原来的1/10,即使增长33%也还可以