【发布时间】:2016-07-16 12:41:08
【问题描述】:
是否有任何通用(甚至标准化)文件格式用于存储 CRC 参数集(即多项式、宽度、初始值、XOR 等)?
格式是否基于XML、TXT、CSV等无所谓,只要是常用的就行。
【问题讨论】:
标签: file-format crc
是否有任何通用(甚至标准化)文件格式用于存储 CRC 参数集(即多项式、宽度、初始值、XOR 等)?
格式是否基于XML、TXT、CSV等无所谓,只要是常用的就行。
【问题讨论】:
标签: file-format crc
是的。 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 字符“123456789”的九字节字符串的 CRC。
我编写了crcany code,它读取这些参数行并使用它们计算CRC,应用逐位、逐字节和逐字算法。 crcany 包含 crcgen,它为任何 CRC 生成 C 代码。
此参数集不会告诉您如何将 CRC 放入字节流中。这是数据格式的约定,而不是 CRC 本身。因此,您只需要说明 CRC 字的字节是以小端还是大端的顺序存储在流中,以及它们的去向以及 CRC 的计算依据。
【讨论】: