说出来全是泪啊,头疼了2天了,无意间在网上搜到蛛丝马迹
事情是这样的项目需要用到数据压缩所以使用C++ zlib 库对数据进行压缩,
压缩的时候好巧不巧的可以压缩(后面揭晓),
可是在解压的时候 却一直报 Z_DATA_ERROR -3
查来查去竟然没发现有人遇到这个问题就有点尴尬了,
得到结论:
zlib compress 和 uncompress 执行的时候传出 长度变量 必须是接收缓冲区的长度,
也就是 图中 unDesLen 得等于 vecUnCompressData 的长度
前面说到的压缩正常 没有发现这个问题的原因是 压缩的传出 长度变量 正好是接收缓冲区长度 (实在是尴尬)
最后改成如图即可: