校验码系统
查错类型
- 单一字符替代错误,如1234被错录为4234
- 单一字符对换错误,如12345被错录为12354或12543
- 位移错误,如_123被错录为123_
- 双替代错误,如1234567被错录为7234587
类型
ISO 7064校验码系统[1]
- 纯系统
| 表示方法 | 适用范围 | 校验码数目及类型 |
| ISO 7064 Mod 11-2 | 数字型字符串 | 1位数字或附加符X |
| ISO 7064 Mod 37-2 | 字母数字型字符串 | 1位数字或字母或附加符* |
| ISO 7064 Mod 97-10 | 数字型字符串 | 2位数字 |
| ISO 7064 Mod 661-26 | 字母型字符串 | 2位字母 |
| ISO 7064 Mod 1271-36 | 字母数字型字符串 | 2位数字或字母 |
- 混合系统
| 表示法 | 应用 | 字符数目及类型 |
| ISO 7064 MOD 11,10 | 数字串 | 1位数字 |
| ISO 7064 MOD 27,26 | 字母串 | 1位字母 |
| ISO 7064 MOD 37,36 | 字母数字串 | 1位数字或字母 |
计算方法
纯系统
- 纯系统字符串满足此公式的校验:
- n:字符串的字符个数(包括校验码)
- i:字符位置序号(由右至左,包括校验码,空格与分隔符不及),即最右边的字符i=1
- ai:字符值(见下表)
- r:底数,几何级数的基数
- M:模数
| 字符 | 数字字符值 | 字母字符值 | 字母数字字符值 | 备注 |
| 0 | 0 | 0 | ||
| 1 | 1 | 1 | ||
| 2 | 2 | 2 | ||
| 3 | 3 | 3 | ||
| 4 | 4 | 4 | ||
| 5 | 5 | 5 | ||
| 6 | 6 | 6 | ||
| 7 | 7 | 7 | ||
| 8 | 8 | 8 | ||
| 9 | 9 | 9 | ||
| X | 10 | ISO 7064 MOD 11-2设置的附加码 | ||
| A | 0 | 10 | ||
| B | 1 | 11 | ||
| C | 2 | 12 | ||
| D | 3 | 13 | ||
| E | 4 | 14 | ||
| F | 5 | 15 | ||
| G | 6 | 16 | ||
| H | 7 | 17 | ||
| I | 8 | 18 | ||
| J | 9 | 19 | ||
| K | 10 | 20 | ||
| L | 11 | 21 | ||
| M | 12 | 22 | ||
| N | 13 | 23 | ||
| O | 14 | 24 | ||
| P | 15 | 25 | ||
| Q | 16 | 26 | ||
| R | 17 | 27 | ||
| S | 18 | 28 | ||
| T | 19 | 29 | ||
| U | 20 | 30 | ||
| V | 21 | 31 | ||
| W | 22 | 32 | ||
| X | 23 | 33 | ||
| Y | 24 | 34 | ||
| Z | 25 | 35 | ||
| * | 26 | 36 | ISO 7064 MOD 37-2设置的附加符 |
- 一位校验码计算
- 用递归法,按规则MOD 11-2为字符串0794设置一个校验码,此时M=11,r=2,n=5:
| 步骤j | 前次运行结果Pj | + | 下一字符值a(n-j+1) | = | 中间和Sj | 中间和Sj | × | 底数r | = | 运算结果P(j+1) | |
| 1 | 0 | + | 0 | = | 0 | 0 | × | 2 | = | 0 | |
| 2 | 0 | + | 7 | = | 7 | 7 | × | 2 | = | 14 | |
| 3 | 14 | + | 9 | = | 23 | 23 | × | 2 | = | 46 | |
| 4 | 46 | + | 4 | = | 50 | 50 | × | 2 | = | 100 |
最后,100+校验码值要与1(mod 11)同余,所以校验码为0,整个受保护字符串为07940。
- 多项式法
- 权数
- 权数公式:
- 前15个位置的权数见下表:
- 权数
- 多项式法
| 位置序号 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
| ISO 7064,MOD 11-2 | 5 | 8 | 4 | 2 | 1 | 6 | 3 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 |
| ISO 7064,MOD 37-2 | 30 | 15 | 26 | 13 | 25 | 31 | 34 | 17 | 27 | 32 | 16 | 8 | 4 | 2 | 1 |
| ISO 7064,MOD 97-10 | 53 | 15 | 50 | 5 | 49 | 34 | 81 | 76 | 27 | 90 | 9 | 30 | 3 | 10 | 1 |
| ISO 7064,MOD 661-26 | 129 | 488 | 273 | 341 | 547 | 199 | 389 | 498 | 70 | 562 | 225 | 390 | 15 | 26 | 1 |
| ISO 7064,MOD 1271-36 | 769 | 904 | 590 | 87 | 532 | 156 | 428 | 718 | 373 | 893 | 625 | 900 | 25 | 36 | 1 |
- 用多项式法,按规则MOD 11-2为字符串0794设置一个校验码:
| 字符位置i | 5 | 4 | 3 | 2 | 1 |
| 权数2(i-1)(mod 11) | 5 | 8 | 4 | 2 | 1 |
| 字符值ai | 0 | 7 | 9 | 4 | |
| 乘积 | 0 | 56 | 36 | 8 | |
| 乘积之和 | 100 |
乘积之和加上校验码必须与1(模11)同余,所以校验码为0,整个字符串为07940
- 两位校验码
- 递归法
- 多项式法
- . www.iso.org. [2021-02-08]. (原始内容存档于2021-02-08).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.