Skip to content
Novus Examples
zip587 B

ZIP - ZIP64 End of Central Directory Only

Ordinary 32-bit member records terminated by a ZIP64 end-of-central-directory record, its locator, and then a normal 32-bit end record — the belt-and-braces trailer some writers always emit. A reader must find the classic end record first, notice the locator in front of it, and reconcile two directories that agree.

Archive contents — 2 entrieszip
  • README.txt
  • records.csv

Specifications

Seed
20260807
Zip64 Extra Field
none - all member fields fit in 32 bits
Zip64 End Of Central Directory
true
Zip64 Locator
true
Trailing Eocd32
true
Members
2
Why
belt-and-braces layout emitted by writers that always append the ZIP64 trailer

Testing contract

Expected to pass
Scenario
Locate the end-of-central-directory record, follow the ZIP64 locator that precedes it, and compare the entry count and directory offset reported by both records.
Expected result
Both records report 2 entries and the same central-directory offset and size; extraction succeeds whether the reader uses the 32-bit or the 64-bit record.

What is a .zip file?

ZIP is a widely supported archive format that bundles multiple files and directories into one container, typically with per-file DEFLATE compression and a central directory index. It supports random access to individual entries without decompressing the whole archive. It underlies many document formats such as DOCX and EPUB.

How to use this file

Use an example ZIP to test archive extraction, central-directory parsing, per-entry decompression, and protection against path-traversal (zip-slip) during unpacking.

How to use this file for testing

“ZIP - ZIP64 End of Central Directory Only” is a deterministic Novus Examples fixture for Conversion testing, Error handling. The same content exported across many formats and linked as a group, so you can convert one and diff against the expected twin.

Documented properties for this file: seed 20260807. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Archive fixtures are documented down to their member list (shown on this page) and are deliberately safe — no zip bombs, executables, or hidden payloads. Test extractors against nested, unicode, empty, and encrypted variants.

Code examples

unzip -l eocd-record-only.zip     # list members
unzip eocd-record-only.zip -d out/  # extract

Generated by generation/archives_p7.py. Free for any use, no attribution required — license.