Небольшие программы на Python
Скрипты работают в Python 2 и 3.
Чтение фрагмента файла нужной длины по смещению и запись его в отдельный файл:
Параметры:
Пример:
./fragment-from-binary-file.py file.bin fragment.bin DA5 288
Запись фрагмента в файл. Исходный файл открывается только на чтение, скрипт создаёт новый файл добавляя к имени исходного суффикс _new
Параметры:
Пример:
./fragment-to-binary-file.py file.bin fragment.bin DA5 288
RLE (run-length encoding) кодирование повторов — алгоритм сжатия данных, в котором последовательность нескольких одинаковых символов заменена на один символ и число его повторов.
Работают только в Python 3
Сжатие содержимого двоичного файла по алгоритму RLE
Параметры:
Примеры:
./bin-to-rle.py test.bin test-8.rle
./bin-to-rle.py test.bin test-16.rle 16
Распаковка содержимого файла, сжатого по алгоритму RLE в двоичный файл
Параметры:
Примеры:
./rle-to-bin.py test-8.rle test-8.bin
./rle-to-bin.py test-16.rle test-16.bin 16
Каждый символ записывается в виде последовательности из 2 или 3 байт, в зависимости от режима.
Режим 8 бит — 1 байт на количество:
Байт | Назначение |
---|---|
1 | значение |
2 | количество |
Режим 16 бит — 2 байта на количество:
Байт | Назначение |
---|---|
1 | значение |
2,3 | количество |
Тестовый файл: rle_test.bin