我需要帮助试图验证CRC-16值(也需要帮助与CRC-32值)。我试图坐下来了解CRC是如何工作的,但我一片空白。
更多信息如下:
16000040FFFFFFFF00015FCB
3C00003144010405E57022C7
BA00001144010101B970F0ED
3900010101390401B3049FF1
09900C800000000000008CF3
8590000000000000000035F7
00900259025902590259EBC9
0200002B00080191014BF5A2
BB0000BEE0014401B970E51E
3D000322D0320A2510A263A0
2C0001440000D60000D65E54
--编辑--
我已经包括了更多的信息。我引用的文档是TIA-102.BAAA-A(来自TIA标准)。以下是文档陈述的内容(试图尽可能避免侵犯版权):
FM(x)的系数被放置在CRC字段中,其中CRC的第0个八位元组的MSB对应于x^31,而CRC的第3个八位元组的LSB对应于x^0。
在上面的引用中,我使用^
来显示功能,因为在引用时格式并不相同。我不知道这有什么用,但这有帮助吗?
CRC的计算有很多参数:多项式、初值、最终异或。详见维基百科。您的CRC似乎与您使用的站点上的CRC不匹配,但您可以尝试从文档中找到正确的参数,并使用不同的计算器,例如这个计算器(尽管恐怕它不支持十六进制输入)。
要记住的一件事是,CRC-16通常是在应该进行校验和的数据加上两个零字节的基础上计算的,例如,您可能正在寻找CRC16
函数,其中CRC16(BD001325E032091B94C40000)==12AC
。用这种方法计算校验和,附加校验和的数据的CRC将计算为0,这使得校验更容易,例如CRC16(BD001325E032091B94C412AC)==0000
http://www.lammertbies.nl/comm/info/crc-calculation.html http://www.codeproject.com/articles/19059/c-ccitt-crc-algorithm 在上面与字节数组{0xee,0x01,0x13,0x00,0x06,0x1c,0x00,0x20,0x1d,0x00,0x00}的链接中,它使用CRC8(po
问题内容: 我正在编写一个Python程序,以从6 GB bz2文件的中间提取数据。bzip2文件由可独立解密的数据块组成,因此我只需要找到一个块(它们由魔术位分隔),然后从内存中从中创建一个临时的单块bzip2文件,最后将其传递给bz2.decompress函数。容易,不是吗? bzip2格式的文件末尾具有crc32校验和。没问题,binascii.crc32即可解救。可是等等。要校验和的数据不
我有一个通过RS232 COM与计算机通信的终端。我得到的协议说,我必须发送一定的字节组合和CRC 16 IBM计算的数据在最后发送 我还得到了一个C编写的应用程序,我可以用它来测试,该应用程序编写了一个带有发送数据和接收数据的日志。在该日志中,我查看是否向终端发送了以下字符串。我还必须发送数据06 35的这个CRC16 IBM结果。 我已经设法以某种方式将作为示例给出的C方法翻译成C#。但我的结
因此,我的问题是:如何从整数结果到所需的双十六进制结果?我试了几个选择,都没有成功。 注意:我使用的是Qt,所以如果有人能找到实现QByteArray或其他Qt友好代码的解决方案,我会很高兴的。无论哪种方式,不使用Qt、C或C++的解决方案都是无用的:P
FF-源地址 53-数据 70-数据