ARJ method 1: LZSS matching over a 26624-byte window with match lengths 3 to 256, feeding a 510-symbol literal/length Huffman tree and a 17-slot position tree rebuilt for every block of at most 16384 tokens. The literal/length code lengths are themselves transmitted through a 19-symbol code-length tree whose own lengths use a three-bit field with a unary extension. Bits are packed most-significant-bit first through a 16-bit register.
| Property | Value |
|---|---|
| Category | Compression Algorithms |
| Sub-category | Dictionary |
| Security status | Not classified |
| Complexity | Advanced |
| Inventor | Robert K. Jung |
| Year | 1991 |
| Origin | πΊπΈ United States |
| Source | algorithms/compression/arj.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 in a single-symbol tree
| Field | Value |
|---|---|
input |
41 |
expected |
0100000000010000041000 |
Vector 3 β Repeated byte run - one literal then a single long match
| Field | Value |
|---|---|
input |
61616161616161616161616161616161 |
expected |
100000000002200430d1364b4004 |
Vector 4 β Periodic text - literals then a match carrying position bits
| Field | Value |
|---|---|
input |
6162636162636162636162636162636162636162 |
expected |
140000000004280530f13792d0086c |