2016-07-16 3 views
0

Существуют ли общие (или даже стандартизированные) форматы файлов, которые используются для хранения наборов параметров CRC (например, полинома, ширина, начальное значение, XOR и т. Д.)?Общие форматы файлов CRC

Не имеет значения, если формат основан на XML, TXT, CSV и т. Д., Если он обычно используется.

ответ

2

Да. Росс Уильямс написал excellent tutorial on CRCs, в котором он определяет канонический набор параметров для определения CRC. Грег Кук сделал это и создал list of known CRCs, который использует эти параметры со стандартным форматом и набором имен в одной строке для каждого CRC. Вот пример описания с этого сайта, что является, вероятно, наиболее распространенной CRC:

width=32 poly=0x04c11db7 init=0xffffffff refin=true refout=true xorout=0xffffffff check=0xcbf43926 name="CRC-32" 

Значение check является CRC в девять байт строки ASCII символов «123456789».

Я написал crcany code, который считывает эти строки параметров и вычисляет CRC, используя их, применяя побитовые, байт-мудрые и текстовые алгоритмы. В комплект поставки crcany входит crcgen, который генерирует код C для любого CRC.

Этот набор параметров не говорит вам, как поставить CRC в поток байтов. Это соглашение формата данных, а не самого CRC. Таким образом, вам остается сказать, должны ли байты слова CRC храниться в потоке в порядке little-endian или big-endian, а также где они идут и что вычисляется CRC.

Смежные вопросы