Skip to content
Novus Examples
zip753 B

ZIP - Info-ZIP Unicode Path Extra Field

The third way a ZIP carries a non-ASCII name: an ASCII-safe name in the header plus an Info-ZIP Unicode Path extra field (0x7075) holding the real UTF-8 name and a CRC32 of the header name. A reader must prefer the extra field, but only while that CRC still matches the header name it was computed from.

Archive contents — 3 entrieszip
  • README.txt
  • café-menü.txt
  • 日本語-ノート.txt

Specifications

Seed
20260807
Members
3
Extra Field Id
0x7075 (Info-ZIP Unicode Path)
Header Names
README.txt, cafe-menu.txt, nihongo-note.txt
Extra Field Names
the UTF-8 originals, listed above as the archive contents
Crc Guard
extra field carries CRC32 of the header name so a rename invalidates it

Testing contract

Expected to pass
Scenario
Read each member, prefer the 0x7075 extra field name, and verify its embedded CRC32 against the header name.
Expected result
The reported names are README.txt, café-menü.txt and the Japanese name; all three CRCs match, and a reader that ignores the extra field falls back to the ASCII names instead of failing.

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 - Info-ZIP Unicode Path Extra Field” is a deterministic Novus Examples fixture for Conversion testing, Encoding detection, Metadata testing. 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 unicode-path-extra.zip     # list members
unzip unicode-path-extra.zip -d out/  # extract

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