Hawkynt

ARJ

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.

Properties

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

Security

Status: not classified β€” treat as unverified.

No vulnerabilities are recorded for this implementation.

Documentation

References

Test vectors

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

← All algorithms