Domanda

C'è una biblioteca CRC che consente all'utente non solo di rilevare gli errori, ma anche correggerli? Sto cercando un C / C ++ o libreria Java, idealmente open-source.

È stato utile?

Soluzione

Credo che CRC in grado di rilevare solo gli errori, non correggerli. Questo è certamente vero per l'implementazione più comune. Volete qualche tipo di correzione degli errori tecnica, non un CRC. Io non sono a conoscenza di librerie per fare questo, ma devono essere abbastanza facile da trovare una volta che sai quello che stai cercando.

Altri suggerimenti

Se non si desidera CRC, ma FEC (Forward Error Correction). È possibile trovare un'implementazione open source nel libfec .

La migliore soluzione tecnica su di correzione degli errori è chiamato turbocode. Vedere http://en.wikipedia.org/wiki/Turbo_code per ulteriori informazioni a riguardo.

Ma temo che non troverete implementazioni molto più liberi di esso.

Se si vuole veramente uno libero, dare una prova a http://rscode.sourceforge.net/

In riferimento a quanto segue: credo che CRC può rilevare solo gli errori, non correggerli.

Lo scrittore è male informato. CRC può essere utilizzato per correggere gli errori singoli bit. C / C ++ Users Journal - Giugno 2003 - pagina 6.

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

Non credo CRC viene utilizzato spesso per la correzione degli errori, se si desidera controllare e set di riparazione di file si può sempre provare par2, che viene spesso utilizzato per il download diretto. È possibile trovare un sacco di documentazione e implementazioni su internet, ad esempio, una libreria Win32 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top