站长蚂蚁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 187|回复: 0
打印 上一主题 下一主题

有关条码校验位算法介绍

[复制链接]

838

主题

838

帖子

2678

积分

青年蚂蚁

Rank: 6Rank: 6

积分
2678
跳转到指定楼层
楼主
发表于 2024-4-11 09:28:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

一、商品条码

商品条码中需要计算校验码的有: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码值等于余数的字符即为校验符。

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


回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|站长蚂蚁-站长之家 ( 赣ICP备15000807号

GMT+8, 2024-5-19 11:07

Powered by 蚂蚁站长论坛

© 2007-2024 bbs.jzmayi.com

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