Python-скрипты
Александр Бельченко
Расчет контрольной суммы CRC16 для бинарного файла
Утилита crc16.py позволяет подсчитать контрольную сумму бинарного файла по алгоритму CRC16 со следующими параметрами:
- образующий полином 0x1021
- начальное значение CRC 0x0000
Использование:
Командная строка:
python crc16.py [options] infile [outfile]
Здесь:
infile -- имя входного файла
outfile -- имя выходного файла
Опции (options):
-q, -Q -- тихий запуск (посчитанная CRC не печатается на экране)
-r -- записать CRC в последние 2 байта входного файла
-a -- добавить CRC после содержимого входного файла
-l -- записать CRC в файл в формате little Endian (младший байт первым)
-b, -B -- записать CRC в файл в формате Big Endian (по умолчанию)
Без указания опций -r или -a утилита просто печатает на экране расчитанное CRC.
По умолчанию утилита расчитывает CRC для всего содержимого входного файла кроме 2х последних байт. Если в командной cтроке указывается опция -a, то CRC расчитывается для всех байт без исключения.
Утилита представляет собой пример того, как из сишного кода получить код на питоне. Я взял свой готовый исходник на Си для расчета CRC16 и положил его в основу утилиты crc16.py.
crc16.py
В архиве содержатся утилита crc16.py и эквивалентный код на Си для расчета CRC16.