找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 242|回复: 0

有关条码校验位算法介绍

[复制链接]

614

主题

0

回帖

2173

积分

工程师助理

积分
2173
发表于 2024-11-15 09:53:50 | 显示全部楼层 |阅读模式

检验码是由编码方案决定的,所以在代码中是否使用检验码和条码基本无关,但商品条码除外,今天给大家介绍几种校验码的计算方法。

一、商品条码

商品条码中需要计算校验码的有:EAN-8(8位),EAN-13(13位),UCC(UPC-A)12位,GTIN-14(ITF-14)14位,GLN(13位),SSCC(18位),它们虽然位数不同,但计算校验码的方法完全相同。

1.包含校验码的所有数字都从右到左编号,分别为1,2,3.....18位;

2.从第2位开始,所有偶数位的权数为3,从第3位开始, 所有奇数位的权数为1;

3.将对应位置的代码数字与权数相乘

4.将所有乘积相加求和;(结果为109)

5.对第4步的和,求mod 10运算(将和109除以10,取其余数9);

6.如果余数为0,则校验位为0,否则,用10减去余数的差即为校验码。

Code 128码的检验符

Code 128码的校验符不会出现在数据中,也不用读出,这里仅介绍一下计算方法,实际使用中有条码生成软件自动生成,由于Code 128码可以表示字母、符号、控制符,而这些字符不能直接参与计算,所以要为每个字符分配一个码值。各个字符的码值可以参阅code 128的标准文件。

1.首先为字符串编制条码;

2.从起始符开始,自左向右为每个条码字符编号;

3.为每一个字符分配权数,起始符和第一个字符的权数为1,以后依次增加。

4.每个字符的权数与码值相乘;

5.所有乘积求和;

6.第5步的结果除以103求余数;

7码值等于余数的字符即为校验符。

以上就是有关校验码算法的介绍,在条码生成软件中,只要输出相应的条码数据,软件即可自动计算校验位。感兴趣的用户,可以动手尝试。


EDA1024论坛免责声明
请勿上传侵权资料及软件! 如果发现资料侵权请及时联系,联系邮件: fenxin@fenchip.com QQ: 2322712906. 我们将在最短时间内删除。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EDA1024技术论坛

GMT+8, 2024-12-19 09:53 , Processed in 0.040708 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表