Алгоритм CRC-16 (с генератором полином 0x8005)

Я работал над версией VB.NET, читая тогда MPEG Frame Header файла MP3. Один из способов проверить правильность заголовка кадра - проверить значение CRC с помощью следующих двух байтов, следующих за заголовком кадра. Я не понимаю CRC и понятия не имею, что означает полином 0x8005. Может кто-нибудь, пожалуйста, направьте меня в правильном направлении. Я ничего не понимаю, когда дело доходит до этого. Благодарю.

1 ответ

Для CRC требуется полином генератора , который может быть разным для различных реализаций CRC. В случае mp3 (и звука mpeg-1 в целом) это 0x8005, в частности, CRC — это вариант CRC-16/CMS (а не CRC-16/ARC, как упомянуто в комментарии). Таким образом, для реализации вы можете обратиться либо к параметрам варианта, либо использовать уже существующую реализацию, поскольку это распространенный вариант.

Другие вопросы по тегам