常见的CRC文件格式

时间:2016-07-16 12:41:09

标签: file-format crc

是否存在用于存储CRC参数集的常用(甚至标准化)文件格式(即多项式,宽度,初始值,XOR等)?

如果格式基于XML,TXT,CSV等,只要它是常用的,这无关紧要。

1 个答案:

答案 0 :(得分:2)

是。 Ross Williams编写了一个excellent tutorial on CRCs,在其中定义了一组规范CRC的规范参数。 Greg Cook进一步采用了这一点并创建了一个list of known CRCs,它使用标准格式的参数和每个CRC在一行中的名称集。以下是该站点中可能最常见的CRC的示例描述:

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

check值是九字节ASCII字符串的CRC" 123456789"。

我写了crcany code,它读取那些参数行并使用它们计算CRC,应用逐位,逐字节和逐字算法。 crcany包含crcgen,它为任何CRC生成C代码。

此参数集不会告诉您如何将CRC放入字节流中。这是数据格式的惯例,而不是CRC本身。因此,您不得不说明CRC字节的字节是以小端还是大端顺序存储在流中,以及它们的去向以及CRC的计算结果。