欢迎来到深圳市辰翔科技有限公司官网! 网站地图 收藏我们 联系我们

条码集成系统服务商

让精准管理不“码”烦

全国服务热线:

18529531781

辰翔——中国百强企业合作之选

您所在的位置是: 首页-Code128条形码的校验位码是怎么计算出来的?

Code128条形码的校验位码是怎么计算出来的?

返回列表来源:深圳市辰翔条码 发布日期:2020/12/26 15:53:29 浏览:6

问题:

哪位知道Code128B条码的检验码是怎样计算的,条码35925404143996产生了一个校验码99是怎样算出来的?

 

 

解答:

 

标准Code128本身是没有校验位的,你说的校验位是通过另外的算法来生成的,用于系统对条形码的核准。

 

35925404143996,校验码为9,这个校验算法应该是Luhn算法。

 

Luhn算法由IBMHans Peter Luhn发明,又称为“模10”算法,是一种简单的校验和算法,用来验证识别号,比如信用卡号、IMEI号、社会保险号等。它的算法简单,并只采用最后一位数字作为校验位,可以有效防止偶然的输入性错误。Luhn算法只能用于简单的校验,不能用于加密算法,当然,这也不是该算法的目的。Luhn算法可以检测到以下输入性错误:所有的单位数字错误,如210写作215;能检测到绝大多数的临位错位,比如315写作351,但是只有两位的情况下无法检测,比如09写作90;能够检测双数字写错10种的7种,比如11写为22,但是有3种无法检测,如225533664477

Luhn
算法实现:

10位数字“7992739871”为例, Luhn算法可以这样描述:

1、从右往左,隔位乘2:比如12得到282得到16
2
、清理两位数字:如果乘以2得到的数字是两位,即大于等于10,就把这两位相加得到一位数字。比如步骤1中的2不需要相加,16的两位相加得到7
3
、相加模10:把步骤2得到的各位数字相加(本例为67),以10取模后(本例为7),用10相减即得到校验数字(本例为3)。当然如果得到10就按0计算。

 

按照Luhn算法,我们来对35925404143996的校验位进行分析得出:

原始数字

 3

 5

 9

 2

 5

 4

 0

 4

 1

 4

 3

 9

 9

 6

 

隔位乘2

 3

 10

 9

 4

 5

 8

 0

 8

 1

 8

 3

 18

 9

 12

 

清理两位数字

 3

 1

 9

 4

 5

 8

 0

 8

 1

 8

 3

 9

 9

 3

 

相加模10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 71%10=1

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 9

 

根据Luhn算法,条形码35925404143996生成的校验位为9

 

想了解更多详情,请咨询:0755-82663058;电话微信同号:18928428816尚,17704082608尹

本文标签:条码打印机 条码枪 热敏打印机 二维码扫描器 上一篇:线缆标识的用途和特点? 下一篇:QD2430 二维扫描枪简介