- Simple archive format with a clear structure
- Optional per-file Deflate compression
- Fast extraction and creation
- No external dependencies beyond .NET 8
- Preserves directory structure
- Signature:
SQZIPV01
(8 bytes) - File count (int32)
- File table size (int32)
- File table: For each file
- Path length (uint16)
- Path (UTF-8)
- File size (int64)
- Compressed size (int64)
- Data offset (int64)
- Is compressed (byte: 1 = compressed, 0 = uncompressed)
- File data section
- Archives all files in
sourceFolder
(recursively) into a single.sqzip
file. - Uses Deflate compression only if it reduces file size.
- Extracts all files from the specified
.sqzip
archive intodestinationFolder
. - Restores original directory structure.