GZip作为常用类,进行数据的加压缩是没问题的。 如果在把压缩后的字节数据进行Base64的encode,传输后再进行Base64的decode,然后再解压,不同手机出现了不同的异常
java.util.zip.ZipException: invalid distance too far back
复制代码
IOException
复制代码
后来也不确定是什么问题,Base64换成了common-codec的,就没有这个问题了。
原因是出现了使用android.util.base64时flag值用的是default,这样的话在超过16个字符之后会添加一个\n,导致了无法正常解析。使用nowrap就可以了。