您现在的位置: 恒佑条码 >> 技术中心 >> 条码课堂 >> 条码知识 >> 正文
条码知识
[Bluesky老师专栏]条码知识之六:校验码的计算
2009/8/28 10:07:07

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

  一、商品条码:

  商品条码中需要计算校验码的有: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、将对应位置的代码数字与权数相乘,参见下图(以SSCC的18位数字为例);
  校验码计算方法
  4、将所有乘积相加求和;(结果为109)

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

  6、如果余数为0,则校验码为0,否则,用10减去余数的差即为校验码。(上例中校验码为1)

 

  二、身份证校验码:
    身份证校验码的计算比较复杂一些,参见下图:

校验码计算 

  1、自右向左为身份证号编号1-18;

  2、确定各位数的权数,权数的计算公式为 2^(i-1) mod 11      i—位数

  如第3位的权数为2^(3-1)=2^2=4, 4除以11,商0余4,则权数为4。再如第5位的权数为2^(5-1)=2^4=16,16除以11,商1余5,则权数为5。

  3、将权数与对应的身份证号数字相乘;

  4、将所有乘积相加求和;(示例中的184)

  5、将第4步的结果除以11,求余数(示例中的8)

  6、从下表的R值中找到第5步的结果,对应的C值即为校验码。(示例中8对应的是4)

 校验码 

  三、CODE-128码的校验符:

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

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

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

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

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

        5、所有乘积求和;

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

        7、码值等于余数的字符即为校验符。见下图:

code 128 码 校验码算法 

    EAN-128码的校验符的计算与此相同。

        从以上三个例子可以看出,几乎所有的校验码的计算都是由以下步骤计算出来的:

        1、为代码中的每一位数字规定序号;

        2、给每一位代码分配一个权数;

        3、权数与对应的代码相乘;

        4、将所有的乘积相加;

        5、对和进行MOD(求余数)运算;

        6、对结果进行再处理得到校验码。

 

 

[Bluesky老师专栏]相关教程:

 

条码知识之一:商品上的黑白两道》:认识商品条码,商品条码类型,商品条码之国别码,常见问题

条码知识之二:店内码》:店内码的形成及分类

条码知识之三:条码中的秘密(上)》:如何判断条码类型,条码的编码规则

条码知识之四:条码中的秘密(下)》:从起始符和终止符快速判断条码类型

条码知识之五:校验》:条码的三种校验方法

条码知识之六:校验码的计算》:几种条码的校验算法

条码知识之七:商品条码详解(上)》:商品条码的编码规则,UPC-A,EAN-13编码规则

条码知识之八:商品条码详解(下)》:EAN-8和UPC-E编码规则

条码知识之九:EAN-128条码(上)》:Code 128 和EAN-128的关系,Code 128 和EAN-128字符集,Code128编码规则

条码知识之十:EAN-128条码(下)》:EAN 128码编码规则,Code 128 和EAN-128常见问题

 

  以上文章均转自Bluesky老师的QQ空间:http://26425753.qzone.qq.com/

 

Bluesky老师简介:

 Bluesky老师,原名韩建飞,网名Bluesky,河南外贸学校成教部主任,教条码课程,精通条码知识及各种编码规则,为人热情,经常帮助网友解答各种条码问题,在条码界享有很高的声誉。

 

 条码知识这一系列课程为Bluesky老师根据工作和日常生活中的条码问题总结而写,简单易懂,循序渐进,让一个不懂条码的人也能很快的找到想要的答案,对于条码初学者、准备上条码的工厂、条码制作者和条码教育者来说是本不可多得的教材。

 

  感谢Bluesky老师的无私分享!

  • 上一篇帮助:

  • 下一篇帮助:
  • 技术中心
    产品手册
    菜单介绍
    标签创建
    标签编辑
    标签打印
    操作技巧
    软件注册
    常见问题
    条码课堂
    条码知识
    打印技巧
    条码术语
    视频教程
    驱动下载
    电子监管码专栏
    行业应用
    市场分析
    知识专栏
    疑难解答
    应用案例
    恒佑科技(条码软件-条形码软件 -标签打印软件 -二维码软件 -条码打印软件) 版权所有(2003-2023)HengYou Technology Co.,Ltd
    公司地址:河南省郑州市高新区正弘高新数码港17楼947室 邮政编码:450001
    服务热线:0371-67998681 67998108 传真:0371-67998682 节假日:17603877538
    豫ICP备11004848号| 网站备案号豫公网安备41019702002059号|网站地图
    公司简介