/Compression-and-transformation

[Python] Algorithms for compression and transformation data

Primary LanguagePython

Compressions algorithms

Run-length encoding (RLE)

Very simple lossless compression algorithm. https://en.wikipedia.org/wiki/Run-length_encoding

Lempel–Ziv–Welch (LZW)

Simple dictionary lossless compression algorithm. https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch

Transformations algorithms

Burrows–Wheeler transform (BWT)

Encoding and decoding strings or lists with own alphabets. Been programmed to avoid wasting too much memory - is not using the rotation string, but use the rotation vectors. https://en.wikipedia.org/wiki/Burrows%E2%80%93Wheeler_transform

Move to front (MTF)

Encoding string or list of chars to list of integers. Decoding list of integers to string. This transformation algorithm uses full ASCII stack. https://en.wikipedia.org/wiki/Move-to-front_transform

Discrete Cosine transform (DCT)

Encoding and decoding list of numbers. - only 1D https://en.wikipedia.org/wiki/Discrete_cosine_transform

Binary codes and functions

Helper functions

strBinToInt

Binary number representation by string convert to integer. For example: '101' to 5

strOctToInt

Octet number representation by string convert to integer.

strHexToInt

Hexadecimal number representation by string convert to integer.

intToBinStr

Integer number convert to binary number representation by string.

intToOctStr

Integer number convert to octet number representation by string.

intToHexStr

Integer number convert to hexadecimal number representation by string

length

Length of binary integer number

getFirstBits

getLastBits

getValueInPosition

cutFirst

cutLast

resplitBinaryCodes

Binary codes

Fibonacci

BCD