基本介紹
- 中文名:校驗碼系統
- 作用:防止產生錯誤
查錯類型
- 單一字元替代錯誤,如1234被錯錄為4234
- 單一字元對換錯誤,如12345被錯錄為12354或12543
- 位移錯誤,如_123被錯錄為123_
- 雙替代錯誤,如1234567被錯錄為7234587
類型
ISO 2108
ISO 2984
ISO 6166
ISO 7064
- 純系統
表示方法 | 適用範圍 | 校驗碼數目及類型 |
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 |
- 權數公式:
- 前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(mod 11) | 5 | 8 | 4 | 2 | 1 |
字元值ai | 0 | 7 | 9 | 4 | |
乘積 | 0 | 56 | 36 | 8 | |
乘積之和 | 100 |
- 兩位校驗碼
- 遞歸法
- 多項式法
- 錯誤檢測與校正