Aritmetikai kódolás
Ez az eljárás talán napjaink legígéretesebb tömörítési módja. Az alapötletet már 1948(!!!)-ban publikálta Shannon, az eljárás kitalálója, azonban megvalósításának komoly sebességbeli és elvi akadályai voltak (egészen napjainkig, a számítástechnika robbanásszerű fejlődéséig). A kódoláshoz itt is szükség van a gyakorisági statisztikára.
A tömörítés a következőképpen történik: A kódoláshoz az egyes valószínűségeket felosztjuk - alapértelmezésben - a nulla és az egy közti tartományba (Az implementációk általában nagyobb indulótartománnyal dolgoznak). Például, ha a tömörítendő byte-csoport ACBA, akkor az A karakterhez a [0-0.5] intervallumot rendeljük, mivel valószínűsége 0.5, a B karakterhez a [0.5-0.75] intervallumot (valószínűsége 0.25), végül a C karakterhez a [0.75-1] intervallumot (valószínűsége szintén 0.25). A kódoláshoz először vesszük a [0, 1] intervallumot, és rávonatkoztatom az első karakterhez tartozó tartományt, mely a példában [0, 0.5], az eredmény a [0, 0.5] intervallum lesz. Erre a következő karakterhez tartozó tartományt kell vonatkoztatni mely esetünkben [0.75, 1], a kapott intervallum [0.375, 0.5], s így tovább, mindig a következő karakter tartományát kell az előzőleg kapott intervallumra vonatkoztatni, míg az adatok végére nem érünk. A példához tartozó végeredmény a [0.4375, 0.453135] tartomány lesz. Ebből a tartományból kell kiválasztanunk, majd letárolnunk azt a számot, mely binárisan a legkevesebb számjegyből áll. (A dekódolás menete nagyon hasonló, az eltérés, hogy az újabb és újabb intervallum-felosztásban ez a bináris szám mindig más-más - mindig a következő - karaktert jelöli ki