- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
! WikiPedia
https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E3%83%89%E3%83%BB%E3%82%BD%E3%83%AD%E3%83%A2%E3%83%B3%E7%AC%A6%E5%8F%B7
! SAMPLE
https://pypi.org/project/reedsolo/
https://code.i-harness.com/ja/q/1cf50ff
! PYTHON
pip3 install --upgrade reedsolo
test1(encode decode)
from reedsolo import RSCodec
#This codec can correct up to 5 errors and 10 erasures simultaneously
rsc = RSCodec(10) # 10 ecc symbols
# エンコード
print('エンコード')
msg = '田子の浦ゆ うち出でてみれば 真白にそ 富士の高嶺に 雪は降りける'
print('日本語:', msg)
e4 = rsc.encode(msg.encode('utf-8'))
print('エンコード後:', e4)
print()
# デコード
print('デコード')
b4 = rsc.decode(e4)[0]
print('デコード:', b4)
print('デコード日本語:', b4.decode('utf-8'))
test2 ( error )
test2 ( error test )
from reedsolo import RSCodec
#This codec can correct up to 5 errors and 10 erasures simultaneously
rsc = RSCodec(10) # 10 ecc symbols
maxerrors, maxerasures = rsc.maxerrata(verbose=True)
print('maxerrors :', maxerrors)
print('maxerasures :', maxerasures)
print()
msg = b'May the force be with you.'
enc = rsc.encode(msg)
print('元メッセージ :', msg)
print('エンコード :', enc)
print()
print('デコード(1)')
print('rsc.check() : ', rsc.check(enc))
decoded_msg, decoded_msgecc, errata_pos = rsc.decode(enc)
print('enc :', enc)
print('errata_pos :', errata_pos)
print('decoded_msgecc :', decoded_msgecc)
print('decoded_msg :', decoded_msg)
print()
print('デコード(2) エラー個数4')
enc[2] = 0x58 # X
enc[10] = 0x59 # Y
enc[18] = 0x5A # Z
enc[20] = 0x58 # X
print('rsc.check() : ', rsc.check(enc))
decoded_msg, decoded_msgecc, errata_pos = rsc.decode(enc)
print('enc :', enc)
print('errata_pos :', errata_pos)
print('decoded_msgecc :', decoded_msgecc)
print('decoded_msg :', decoded_msg)
print()
print('デコード(3) エラー個数5')
enc[11] = 0x58 # X
#enc[12] = 0x59 # Y
#enc[13] = 0x5A # Z
#enc[15] = 0x58 # X
#enc[17] = 0x59 # Y
print('rsc.check() : ', rsc.check(enc))
decoded_msg, decoded_msgecc, errata_pos = rsc.decode(enc)
print('enc :', enc)
print('errata_pos :', errata_pos)
print('decoded_msgecc :', decoded_msgecc)
print('decoded_msg :', decoded_msg)
print()