Библиотека исправления ошибок CRC?[закрыто]
-
13-09-2019 - |
Вопрос
Существует ли библиотека CRC, которая позволяет пользователю не только обнаруживать ошибки, но и исправлять их?Я ищу библиотеку C/C++ или Java, в идеале с открытым исходным кодом.
Решение
я полагаю, что CRC может только обнаруживать ошибки, но не исправлять их.Это, безусловно, верно для наиболее распространенной реализации.Вы хотите какой-то исправление ошибки техника, а не CRC.Мне неизвестны какие-либо библиотеки для этого, но их должно быть достаточно легко найти, если вы знаете, что ищете.
Другие советы
Вам нужен не CRC, а FEC (упреждающее исправление ошибок).Вы можете найти реализацию с открытым исходным кодом в libfec.
Лучшее техническое решение по исправлению ошибок называется турбокодом.Видеть http://en.wikipedia.org/wiki/Turbo_code для получения дополнительной информации об этом.
Но я боюсь, что вы не найдете много бесплатных реализаций.
Если вам действительно нужен бесплатный, попробуйте http://rscode.sourceforge.net/
В отношении следующего:Я считаю, что CRC могут только обнаруживать ошибки, но не исправлять их.
Автор дезинформирован.CRC МОГУТ использоваться для исправления однобитовых ошибок.Журнал пользователей C/C++ – июнь 2003 г. – стр. 6.
http://www.drdobbs.com/an-algorithm-for-error-correcting-cyclic/184401662?queryText=Bill%2BMcDaniel
Я не думаю, что CRC часто используется для исправления ошибок, однако, если вы хотите проверить и восстановить наборы файлов, вы всегда можете попробовать par2, который часто используется в Usenet.В Интернете можно найти множество документации и реализаций, например библиотека win32.