WinAceβs ACE 1.0 method: an LZ77 matcher over a 32 KiB dictionary feeding two per-block Huffman trees, a 284-symbol main tree of literals, an end-of-block marker and 27 match-length slots whose code lengths travel through a 19-symbol pre-tree, plus a 2-bit distance mode selecting either an explicit 15-bit distance or one of three recent distances. Bits are packed most-significant-bit first and flushed as 16-bit little-endian words.
| Property | Value |
|---|---|
| Category | Compression Algorithms |
| Sub-category | Dictionary |
| Security status | Not classified |
| Complexity | Advanced |
| Inventor | Marcel Lemke |
| Year | 1998 |
| Origin | π©πͺ Germany |
| Source | algorithms/compression/ace-archiver.js |
Status: not classified β treat as unverified.
No vulnerabilities are recorded for this implementation.
4 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β Empty input - length header only
| Field | Value |
|---|---|
input |
(empty) |
expected |
00000000 |
Vector 2 β Single byte βAβ - one literal plus end-of-block
| Field | Value |
|---|---|
input |
41 |
expected |
0100000080090080000000000000b30da5fe00202000 |
Vector 3 β Repeated byte run - one literal then a single long match
| Field | Value |
|---|---|
input |
61616161616161616161616161616161 |
expected |
1000000081090010000000000000b60a13fe4080008080043000 |
Vector 4 β Periodic text - three literals then a match carrying extra length bits
| Field | Value |
|---|---|
input |
6162636162636162636162636162636162636162 |
expected |
1400000080090011000000000000b70ae0cf0cf000066e0000480009 |