查看“︁校验码系统”︁的源代码
←
校验码系统
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{Merge to|校驗碼|time=2021-02-08T11:21:45+00:00}} '''校验码系统'''是产生[[校验码]]并校验包括校验码在内的[[字符串]]的一套规则。它可以防止在抄录和键入字符串时产生的错误。 ==查错类型== *单一字符替代错误,如'''1'''234被错录为'''4'''234 *单一字符对换错误,如12345被错录为123'''54'''或12'''5'''4'''3''' *位移错误,如_123被错录为123_ *双替代错误,如1234567被错录为'''7'''2345'''8'''7 ==类型== ===ISO 2108=== ===ISO 2984=== ===ISO 6166=== ===[[ISO 7064]]校验码系统<ref>{{Cite web|url=https://www.iso.org/obp/ui/#iso:std:iso-iec:7064:ed-1:v1:en|accessdate=2021-02-08|work=www.iso.org|title=存档副本|archive-date=2021-02-08|archive-url=https://web.archive.org/web/20210208034746/https://www.iso.org/obp/ui/#iso:std:iso-iec:7064:ed-1:v1:en|dead-url=no}}</ref>=== *纯系统 {| class="wikitable" |- | 表示方法 || 适用范围 || 校验码数目及类型 |- | 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位数字或字母 |} *混合系统 {| class="wikitable" |- | 表示法 || 应用 || 字符数目及类型 |- | ISO 7064 MOD 11,10 || 数字串 || 1位数字 |- | ISO 7064 MOD 27,26 || 字母串 || 1位字母 |- | ISO 7064 MOD 37,36 || 字母数字串 || 1位数字或字母 |} ==计算方法== ===ISO 7064=== ====纯系统==== *纯系统字符串满足此公式的校验: <center><math>\sum_{i=1}^n[a_i\times{r}^{(i-1)}]\equiv1(\mathbf{mod}\ M)</math></center> **n:字符串的字符个数(包括校验码) **i:字符位置序号(由右至左,包括校验码,空格与分隔符不及),即最右边的字符i=1 **a<sub>i</sub>:字符值(见下表) **r:底数,几何级数的基数 **M:模数 {| class="wikitable" |- | 字符 || 数字字符值 || 字母字符值 || 字母数字字符值 || 备注 |- | 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: {| class="wikitable" |- | 步骤j || 前次运行结果<small>P<sub>j</sub></small> ||+|| 下一字符值<small>a<sub>(n-j+1)</sub></small> ||=|| 中间和<small>S<sub>j</sub></small> || || 中间和<small>S<sub>j</sub></small> ||×|| 底数<small>r</small> ||=|| 运算结果<small>P<sub>(j+1)</sub></small> |- | 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,整个受保护字符串为0794'''0'''。 **多项式法 ***权数 ****权数公式:<math>W_i=r^{(i-1)}(\mathbf{mod}\ M)</math> ****前15个位置的权数见下表: {| class="wikitable" |- | 位置序号 ||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设置一个校验码: {| class="wikitable" border="1" |- | 字符位置i ||5||4||3||2||1 |- | 权数2<sup>(i-1)</sup>(mod 11) ||5||8||4||2||1 |- | 字符值a<sub><small>i</small></sub> ||0||7||9||4|| |- | 乘积 ||0||56||36||8|| |- | 乘积之和 ||||||||||100 |} 乘积之和加上校验码必须与1(模11)同余,所以校验码为0,整个字符串为0794'''0''' *两位校验码 **递归法 **多项式法 [[Category:错误检测与校正]]
该页面使用的模板:
Template:Cite web
(
查看源代码
)
Template:Merge to
(
查看源代码
)
返回
校验码系统
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息