| #lang racket |
| |
| (require reed-solomon) |
| |
| (let* ([rs_code |
| (rs-encode |
| '(1 2 3 4 5 6 7 8 9 10 11) |
| 4 |
| #:bit_width 4 |
| #:primitive_poly_value 19)] |
| [polluted_data_list (append '(1 2 3 4 5 11 7 8 9 10 1) rs_code)]) |
| |
| (printf "~a\n" |
| (rs-decode |
| polluted_data_list |
| 4 |
| #:bit_width 4 |
| #:primitive_poly_value 19))) |
| ;; (1 2 3 4 5 6 7 8 9 10 11 3 3 12 12) |
| |
| (let* ([rs_code |
| (rs-encode |
| (bytes->list |
| (string->bytes/utf-8 "Chen Xiao is just a programmer.")) |
| 34)] |
| [polluted_data_list |
| (append |
| (bytes->list #"Chen Xiao is a fabulous artist.") |
| rs_code)]) |
| |
| (printf "~a\n" |
| (list->bytes |
| (take (rs-decode polluted_data_list 34) 31)))) |
| ;; Chen Xiao is just a programmer. |