代码之家  ›  专栏  ›  技术社区  ›  Kevin

ZIP文件的EOF标记是什么?

  •  1
  • Kevin  · 技术社区  · 16 年前

    4 回复  |  直到 15 年前
        1
  •  6
  •   Jonathan Leffler    16 年前

    您的文件被截断(或可能扩展或损坏)。

    你可以在上面运行常规的解压程序(比如' unzip -l file.zip )来证明这一点。

    顺便说一下,如果您使用FTP下载文件,您是否记得使用二进制传输?如果您(不小心)使用了ASCII模式,这将破坏任何二进制文件,如ZIP存档。

        2
  •  4
  •   Martin Plante    16 年前

    LocalHeader1
    CompressedData1
    LocalHeader2
    CompressedData2
    [...]
    LocalHeaderN
    CompressedDataN
    CentralHeader1
    CentralHeader2
    [...]
    CentralHeaderN
    EndHeader
    

    EndHeader包含到第一个CentralHeader的偏移量,然后每个CentralHeader包含到它们匹配的LocalHeader的偏移量。

        3
  •  2
  •   Otávio Décio    16 年前

    意外的EOF正好意味着:在读取文件时,函数遇到了文件的结尾,库需要其他内容(数据)。它不是一个标记。

        4
  •  1
  •   Cheeso    16 年前