ā³š” Pythonic universal errors-and-erasures Reed-Solomon codec to protect your data from errors and bitrot. Includes a future-proof zero-dependencies pure-python implementation š® and an optional speed-optimized Cython/C extension š
Thank you for your suggestion and for sharing your code. I won't be the one implementing it, but I leave your issue open if someone else want to give it a try or has similar needs.
This is more a feature request. I have a RS encoding that is a bit strange. It uses 8 bytes of error correction, but instead of the expected encoding:
rs8a=reedsolo.RSCodec(nsym=8, fcr=0, prim=0x11d, c_exp=8)
it instead encodes for 16 bytes, but omits the last 8 bytes from the message.
Due to the way that reed-solomon can deal with known erasures it has the same correcting capabilities as the "standard" one.
I have written a small helper function to deal with this case:
I wonder if this is something you would consider adding support for.