我一直在研究一个 VB.NET 版本的MP3文件,然后是MPEG帧头。测试是否找到正确的帧标头的方法之一是检查 CRC 值以及帧标头后面的两个字节。我不明白CRC,也不知道多项式0x8005是什么意思。有人可以引导我朝着正确的方向前进吗?对此,我什么都不懂。谢谢。
CRC需要一个生成器多项式,对于各种CRC实现,该多项式可能不同。如果是mp3(以及一般的mpeg-1音频),它是0x8005的,特别是CRC是CRC-16/CMS变体(不是评论中提到的CRC-16/ARC)。因此,对于实现,您可以引用变体的参数,也可以使用预先存在的实现,因为它是常见的变体。