Pergunta

Existe uma biblioteca CRC que permite ao utilizador não só detectar erros, mas também corrigi-los? Eu estou procurando um C / C ++ ou biblioteca Java, idealmente de código aberto.

Foi útil?

Solução

Eu acredito que CRCs só pode detectar erros, não corrigi-los. Isso é certamente verdade para a implementação mais comum. Você quer algum tipo de técnica correção de erros , não um CRC. Eu não estou ciente de qualquer biblioteca para fazer isso, mas eles devem ser fácil o suficiente para encontrar uma vez que você sabe o que você está procurando.

Outras dicas

Você não quer CRC, mas FEC (Forward Error Correction). Você pode encontrar uma implementação open source em libfec .

A melhor solução técnica sobre correção de erro é chamado turbocode. Consulte http://en.wikipedia.org/wiki/Turbo_code para obter mais informações sobre isso.

Mas eu tenho medo que você não vai encontrar implementações muito livre dela.

Se você realmente quer um livre, dar uma chance em http://rscode.sourceforge.net/

No que se refere ao seguinte: Eu acredito que CRCs só pode detectar erros, não corrigi-los.

O escritor está mal informado. CRCs pode ser usado para erros de um único bit corretas. C / C ++ Users Journal - Junho de 2003 - página 6.

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

Eu não acho CRC é frequentemente utilizado para correção de erro, no entanto, se você quiser verificar e conjuntos de reparação de arquivos que você pode sempre tentar par2, que é muitas vezes usado para download direto. Você pode encontrar uma grande quantidade de documentação e implementações na internet, por exemplo, um win32 biblioteca .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top