gpt4 book ai didi

c - zlib/RFC1950 中的 FCHECK 如何工作?

转载 作者:行者123 更新时间:2023-11-30 14:59:50 25 4
gpt4 key购买 nike

我正在尝试为我自己的 PNG 库实现我自己的充气机(我知道,不要重新发明轮子等等等等,idc)

我真的很难理解它是如何工作的,显然它应该是 31 的倍数(5 位,所以总是 31?),而且我们应该从最低有效位读取到最重要的是,它与我之前见过的所有其他格式相反,这也带来了一些困惑。

我尝试阅读 Zlib 源代码,但它基本上不可读,而且 RFC 并不是关于“检查代码”(这显然是 zlib header 第二个字节的 5 个最低有效位)的具体内容,或 iDAT/fDAT 卡盘数据部分的第二个字节)。

所以我的问题是;我如何阅读它,如何验证它,我用它做什么?

编辑:校验码在 RFC 1950 中也称为 FCHECK

最佳答案

RFC 1950准确简洁地说明了如何验证 header 。

The FCHECK value must be such that CMF and FLG, when viewed as a16-bit unsigned integer stored in MSB order (CMF*256 + FLG), is amultiple of 31.

CMF 是流的第一个字节,FLG 是第二个字节。那我还能说什么?取第一个字节,乘以 256,然后加上第二个字​​节。如果该数字不是 31 的倍数,则 header 无效。

关于c - zlib/RFC1950 中的 FCHECK 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42498421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com