Реализовать компрессор и декомпрессор произвольных файлов (и монохромных картинок тоже) на основе алгоритма RLE.
Режим работы и файлы задаются в командной строке.
python3 rle.py c infile outfile
— сжатие infile
, результат записывается в outfile
.python3 rle.py d infile outfile
— распаковка infile
, результат записывается в outfile
.Суть алгоритма
PF CC BB
, где PF
— байт-префикс, CC
— количество байт, BB
— само значение байта. Например, если выбран префикс FF
, то последовательность 10 10 10 10 10 10
будет заменена на FF 06 10
. Если в файле встретится байт FF
, то он будет заменен на FF 01 FF
.