5

是否有一个 CRC 库可以让用户不仅检测错误而且纠正错误?我正在寻找一个 C/C++ 或 Java 库,最好是开源的。

4

5 回答 5

6

我相信CRC只能检测错误,不能纠正错误。这对于最常见的实现当然是正确的。您需要某种纠错技术,而不是 CRC。我不知道有任何图书馆可以做到这一点,但是一旦你知道你在寻找什么,它们必须很容易找到。

于 2009-06-15T17:14:05.637 回答
6

您不需要 CRC,而是需要 FEC(前向纠错)。您可以在libfec中找到一个开源实现。

于 2009-06-15T18:56:11.787 回答
3

关于纠错的最佳技术解决方案称为 turbocode。有关详细信息,请参阅http://en.wikipedia.org/wiki/Turbo_code 。

但恐怕你不会找到很多免费的实现。

如果你真的想要一个免费的,试试http://rscode.sourceforge.net/

于 2009-06-15T19:24:10.513 回答
1

参考以下内容:我认为CRC只能检测错误,不能纠正错误。

作者被误导了。CRC 可用于纠正单比特错误。C/C++ 用户日志 - 2003 年 6 月 - 第 6 页。

http://www.drdobbs.com/an-algorithm-for-error-correcting-cyclic/184401662?queryText=Bill%2BMcDaniel

于 2012-01-14T03:43:58.703 回答
0

我不认为 CRC 经常用于纠错,但是如果你想检查和修复文件集,你总是可以尝试 par2,它经常在 usenet 上使用。您可以在 Internet 上找到很多文档和实现,例如win32 库

于 2009-06-15T17:47:31.497 回答