ユーザーがエラーを検出するだけでなく、エラーを修正できるようにする CRC ライブラリはありますか? C/C++ または Java ライブラリ、理想的にはオープンソースを探しています。
5 に答える
CRCはエラーを検出するだけで、修正はできないと私は信じています。それは確かに最も一般的な実装に当てはまります。CRC ではなく、ある種のエラー修正技術が必要です。これを行うためのライブラリは知りませんが、探しているものがわかれば、簡単に見つけることができるはずです。
CRC は必要ありませんが、FEC (前方誤り訂正) は必要です。libfecでオープンソースの実装を見つけることができます。
エラー訂正に関する最良の技術的ソリューションは、ターボコードと呼ばれます。詳細については、 http://en.wikipedia.org/wiki/Turbo_codeを参照してください。
しかし、残念ながら、それを無料で実装するものはあまり見つかりません。
以下を参照してください: CRC はエラーを検出することしかできないと思いますが、修正することはできません。
書き手は誤解されている。CRC を使用して、シングル ビット エラーを修正できます。C/C++ ユーザー ジャーナル - 2003 年 6 月 - 6 ページ。
http://www.drdobbs.com/an-algorithm-for-error-correcting-cyclic/184401662?queryText=Bill%2BMcDaniel
CRC がエラー修正に頻繁に使用されるとは思いませんが、一連のファイルをチェックして修復したい場合は、usenet でよく使用される par2 をいつでも試すことができます。win32 ライブラリなど、インターネット上で多くのドキュメントと実装を見つけることができます。