Jump to content

Quantum compression

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 74.112.4.185 (talk) at 18:49, 30 December 2010. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Quantum compression format is a somewhat obscure data compression method invented by a company called Cinematronics (written by an author identified as David Stafford). Rights to it were purchased at some point by Microsoft, and Quantum is one of the possible compression methods in a CAB archive.

Quantum (.Q) archiver

For DOS, PAQ.EXE is the compressor and UNPAQ.EXE is the decompressor. QWIN.EXE is the Windows decompressor (no Windows compressor exists). It is much faster and has more features (e.g., selective decompression) than the DOS decompressor. Each of these require at least a 386 CPU to run.

The latest known version is 0.97 (as of 15 May, 1995).

.Q archive header

Bytes Description
2 signature, must be 0x44 followed by 0x53
1 major version number
1 minor version number
2 number of files which reside in this archive
1 table size required for decompression
1 compression flags

This is immediately followed by the list of files:

Bytes Description
var. length of file name, see (*) below
var. file name, variable length string, not zero-terminated
var. length of comment field, see (*) below
var. comment field, variable length string, not zero-terminated
4 fully expanded file size in bytes
2 file time (DOS format)
2 file date (DOS format)

(*) Strings are prefixed with their length. This takes one or two bytes. If the length is less than 128 then it is stored directly in one byte. If it is greater than 127 then the high bit of the first byte is set to 1 and the remaining fifteen bits contain the actual length in big-endian format.

Immediately following the list of files is the compressed data.