Burrows-Wheeler Transform with a compact order-0..2 context-mixing back end, BCM-style. Ported to be byte-for-byte identical to CompressionWorkbench’s reduced BB_Bcm reference block.
| Property | Value |
|---|---|
| Category | Compression Algorithms |
| Sub-category | BWT + Context Mixing |
| Security status | 🎓 Educational Only |
| Complexity | Expert |
| Inventor | Ilya Muravyov (concept); reduced clean-room reimplementation |
| Year | 2010 |
| Origin | 🇺🇸 United States |
| Source | algorithms/compression/bcm.js |
Status: 🎓 Educational Only
No vulnerabilities are recorded for this implementation.
6 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — Empty data test
| Field | Value |
|---|---|
input |
(empty) |
expected |
00000000 |
Vector 2 — Single byte test
| Field | Value |
|---|---|
input |
41 |
expected |
(empty) |
Vector 3 — Simple repeated pattern
| Field | Value |
|---|---|
input |
414141424242434343 |
expected |
(empty) |
Vector 4 — Classic banana example
| Field | Value |
|---|---|
input |
62616e616e61 |
expected |
(empty) |
Vector 5 — Mixed alphanumeric data
| Field | Value |
|---|---|
input |
54686520717569636b2062726f776e20 666f78206a756d7073206f7665722074 6865206c617a7920646f67 |
expected |
(empty) |
Vector 6 — Repetitive text compression
| Field | Value |
|---|---|
input |
616263616263616263616263616263616263 |
expected |
(empty) |