在我的项目中,我需要知道zlib标题是什么样的.我听说它很简单,但我找不到任何zlib标头的描述.
例如,它是否包含幻数?
我花了几天时间阅读 zlib(以及 gzip 和 deflate)RFC,我可以说它们有点垃圾。缺少一些细节,所以我打开这个问题。
我正在尝试解析 zlib 数据,我需要了解有关标头的一些详细信息。
首先,RFC 说会有 2 个字节,CMF并且FLG.
CMF分为 2 个 4 位部分。第一个是CM,第二个是CINFO。
的可能值是CM什么?RFC 说这8意味着deflate并且那15是保留的,但是其余的可能值呢?
CINFO 另一方面,如果我正确理解 RFC,应该总是 8(如果我错了,请纠正我)。
跳过FLG和可能的FDICT,我们进入该Compressed data部分。RFC的这一部分说:
For compression method 8, the compressed data is stored in the
deflate compressed data format as described in the document
"DEFLATE Compressed Data Format Specification" by L. Peter
Deutsch. (See reference [3] …Run Code Online (Sandbox Code Playgroud)