ZIP - UTF-8 Name Flag Set
Member names stored as UTF-8 with general-purpose bit 11 (the language-encoding flag) set, which is the modern, unambiguous way to carry a non-ASCII filename in a ZIP. Its CP437 twin encodes the same archive the legacy way, so a reader's encoding heuristic can be compared against a case where the answer is declared.
- README.txt
- café-menü.txt
- 日本語-ノート.txt
Specifications
- Seed
- 20260807
- Members
- 3
- General Purpose Bit11
- true
- Name Encoding
- UTF-8
- Scripts
- ASCII, Latin-1 accents, Japanese
Testing contract
Expected to pass- Scenario
- Read the member names and check general-purpose bit 11 on each local and central header.
- Expected result
- Bit 11 is set on all 3 members and the names decode as UTF-8 to README.txt, café-menü.txt and the Japanese name — no mojibake, no CP437 fallback.
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 - UTF-8 Name Flag Set” is a deterministic Novus Examples fixture for Conversion testing, Encoding detection. 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 utf8-flag-set.zip # list members
unzip utf8-flag-set.zip -d out/ # extractRelated files
- tarTAR - PAX UTF-8 Member NamesPAX is the only tar variant that says what encoding its names are in: extended-header records are UTF-8 by definition. These three members carry accented Spanish and Japanese path components, so a reader that applies a locale-dependent guess instead of trusting the format produces mojibake on exactly this file.

- emlEML — Base64: Accented UTF-8 BodyA base64 text/plain message in utf-8 carrying the identical body to the quoted-printable twin beside it. Base64 is opaque to whitespace and line-start characters, so it is the reference side of the pair when a QP decoder is suspect.

- emlEML — Base64: From-Line and Lone DotA base64 text/plain message in utf-8 carrying the identical body to the quoted-printable twin beside it. Base64 is opaque to whitespace and line-start characters, so it is the reference side of the pair when a QP decoder is suspect.

- emlEML — Base64: ISO-8859-1 BodyA base64 text/plain message in iso-8859-1 carrying the identical body to the quoted-printable twin beside it. Base64 is opaque to whitespace and line-start characters, so it is the reference side of the pair when a QP decoder is suspect.

- emlEML — Base64: Soft Line BreaksA base64 text/plain message in utf-8 carrying the identical body to the quoted-printable twin beside it. Base64 is opaque to whitespace and line-start characters, so it is the reference side of the pair when a QP decoder is suspect.

- emlEML — Base64: Trailing WhitespaceA base64 text/plain message in utf-8 carrying the identical body to the quoted-printable twin beside it. Base64 is opaque to whitespace and line-start characters, so it is the reference side of the pair when a QP decoder is suspect.

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