(除了一些标题),通常可以解压缩(例如解压缩)来自例如的任意数据。 /dev/random
?
换句话说,压缩数据是否表现出一些与随机数据区别开来的清晰模式?
关于标题的注意事项:如果您尝试解压缩这样的随机数据:
head -c 100 /dev/random > file
unzip file
您收到错误
存档:找不到文件结束目录中的签名。 这个文件不是zip文件,或者它构成一个磁盘 多部分存档。在后一种情况下,中央目录和 zipfile注释将在此存档的最后一个磁盘上找到。 解压缩:找不到文件中的zipfile目录或 file.zip,找不到file.ZIP,句号。
答案 0 :(得分:1)
是的,有许多特定的格式方面必须正确,以免解压缩程序中止。
首先,unzip,gzip,zlib等的头格式在前几个字节中都有魔术数字,正是为了这个目的,以避免浪费时间在一个不是由zip制作的文件上,gzip ,zlib等首先。
即使您获得了所有正确的标头数据,压缩数据本身也几乎总是具有必须满足的格式约束。我做过测试表明,作为deflate压缩数据呈现的随机数据平均在大约100个字节内捕获。