我目前正在开发一个巨大的项目,可能每天使用C++中的zlib压缩/解压缩数千个文档.(我们的实现有zlib 1.2.8)
我们当前的实现支持带有和不带标头的压缩文件,但是必须设置布尔"useZlibHeader".
我们的团队想知道是否有100%可靠的方法来确定标头是否存在.
根据这个文档:https://www.ietf.org/rfc/rfc1950.txt,它被称为"FCHECK值必须是CMF和FLG,当被视为以MSB顺序存储的16位无符号整数(CMF)*256 + FLG),是31的倍数."
确实这是一个很好的检查,但有可能我们最终得到一个没有标题的压缩文件,但它的数据是(CMF*256 + FLG)将是31的倍数.
有没有更好的方法来检测标题是否存在?是否有可能我们可能会严重检测到标头的存在,并且解压缩不会抛出异常,输出错误的数据?
谢谢