0

参考数据压缩算法的“魔术签名”是什么意思?例如:http ://disktype.sourceforge.net/doc/ch03s15.html

4

2 回答 2

2

文件签名,通常是两个或几个前导字节,用于许多文件格式——不仅仅是压缩数据。他们在那里让软件被要求处理数据,以便能够检查他们是否得到了正确的输入。这样,例如,gzip 可以立即告诉它没有得到一个 gzip 文件(比如给它一个 bzip2 文件)。然后它可以立即停止并给出一个有用的错误消息,表明这不是一个 gzip 文件。与稍后检测问题并给出某种神秘消息相反,例如“无效的位长度序列”。

八字节 PNG 签名不仅用于识别 PNG 文件,还用于检测常见错误,例如无意中应用于二进制 PNG 文件的行尾转换。PNG 签名包含行尾序列,这些序列会被弄乱并使其不是 PNG 签名,从而提供文件损坏的早期指示,否则稍后会检测到,再次带有更神秘的消息。

请参阅此维基百科条目以获取良好的签名列表。

于 2012-06-20T09:16:23.037 回答
1

这些是压缩流开头的字节,用于标识所使用的压缩器。例如,bzip2 将在开头有字符“BZ”(参见此处的文件格式部分),而 gzip 将有字节 1F 8B。有关其他文件类型的更多信息,请参阅http://www.garykessler.net/library/file_sigs.html

于 2012-06-19T19:46:19.427 回答