【发布时间】:2019-03-11 22:00:22
【问题描述】:
我有一个Gzip Compressed Data | 100-length RNG Pad 的示例。令人惊讶的是,zlib GZip file API 能够在 n 长度焊盘的开头检测到 EOF 而不会将其计算在内。Try Online
我尝试查看header 和source code,这些是我最好的猜测:
-
基于源代码 - 检测到由于遇到无效字节序列而导致的流损坏 - 因此
gzread返回 -1。 -
基于文件头 - 在最后一个
read期间检测末尾的CRC32,并检查其后的相应文件大小。如果匹配,则返回 EOF。
有人可以证实我的理解,即 (1) 确实正在发生。如果是这种情况,我猜测我尝试的示例可能是基于随机字节序列的未定义行为。
【问题讨论】:
-
这个问题是否有问题 - 如果有,我可以相应地改写或编辑。