Gav*_*ahl 12 checksum data-entry error-correction
我有短的,可变长度的十进制数字,如:#41551,由人类手动转录.Mistyping one会导致不良结果,所以我首先想到的是使用Luhn算法来添加校验和 - #41551-3.但是,这只会检测错误,而不是纠正错误.似乎添加另一个校验位应该能够检测并纠正一位数的错误,所以给定#41515-3?(换位错误)我将能够恢复正确的错误#41551.
像Hamming代码这样的东西看起来似乎是正确的地方,但我无法弄清楚如何将它们应用于十进制,而不是二进制数据.是否有针对此用途的算法,或汉明/里德 - 所罗门等是否可以适应这种情况?