当前位置: 首页 > news >正文

GS1-128 校验码计算方法

        GS1-128(原EAN-128)的校验码计算方式与 Code 128 相同,采用 Mod-103(模103)校验。校验码的计算基于条码中的所有数据字符(包括起始符、FNC1、AI、数据等),确保扫描的准确性。  

1. 校验码计算步骤

        (1)确定条码的完整数据

        GS1-128 的校验计算包括:

                - 起始符(Start Code,如 Start C = 105)  

                - FNC1(Function Code 1 = 102)  

                - AI + 数据(转换为Code 128字符值)  

                - 终止符(不参与计算)  

        (2)字符对应值

        Code 128 字符集分为 A、B、C 三种模式,每个字符对应一个数值(0-105)。  

                - 数字模式(Code C):每2位数字对应1个字符值(00-99 → 0-99)  

                - 字母模式(Code B):每个字符对应固定值(如 `A=65`,`B=66`,但实际编码值不同)  

        > Code 128 字符值表(部分):

                > | 字符 | 键值 | 字符 | 键值 |

                > | Start C | 105 | 0-9 | 0-9 |

                > | FNC1 | 102 | A-Z | 65-90 |

                > | ( | 40 | ) | 41 |

        (3)计算公式

        校验码的计算公式为:

        - 位置权重:第1个字符(Start之后)权重=1,第2个=2,依此类推。  

2. 计算示例

        示例1:纯数字数据(GTIN)

        条码数据:`(01) 09506200000013`  

        编码结构(Code C模式):

                1). Start C = 105  

                2). FNC1 = 102  

                3). AI `(01)` → `(`=40,`0`=16,`1`=17  

                4). GTIN `09506200000013` → `09`=9,`50`=50,`62`=62,`00`=0,`00`=0,`13`=13  

计算过程:

字符

字符值

位置

权重

值×权重

Start C

105

-

-

105

FNC1

102

1

1

102×1=102

(

40

2

2

40×2=80

0

16

3

3

16×3=48

1

17

4

4

17×4=68

09

9

5

5

9×5=45

50

50

6

6

50×6=300

62

62

7

7

62×7=434

00

0

8

8

0×8=0

00

0

9

9

0×9=0

13

13

10

10

13×10=130

        总和 = 105 + 102 + 80 + 48 + 68 + 45 + 300 + 434 + 0 + 0 + 130 = 1312  

        校验位 = 1312 ÷ 103 = 12 余 76 → 校验码=76  

最终条码:  

        `Start C + FNC1 + (01) + 09506200000013 + 76 + Stop`  

        示例2:字母+数字数据(GTIN + 批号)

        条码数据:`(01) 09506200000013 (10) ABC123`  

        编码结构(Code B模式):

                1). Start B = 104  

                2). FNC1 = 102  

                3). AI `(01)` → `(`=40,`0`=16,`1`=17  

                4). GTIN `09506200000013` → 按数字编码  

                5). AI `(10)` → `(`=40,`1`=17,`0`=16  

                6). 批号 `ABC123` → `A`=33,`B`=34,`C`=35,`1`=17,`2`=18,`3`=19  

                计算过程(简化版):

        - 计算所有字符值 × 权重  

        - 总和 = Start B + FNC1 + ( + 0 + 1 + ... + 3  

        - 校验位 = 总和 ÷ 103 的余数  

        最终校验码 取决于具体计算值(需逐字符计算)。  

3. 注意事项

        1). 起始符和FNC1参与计算,但终止符不算。  

        2). Code C(数字模式) 每2位算1个字符值,Code B(字母模式)每个字符单独计算。  

        3). AI括号 `(`, `)` 也要计算(如 `(01)` 包含 `(` `0``1``)`)。  

        4). 校验码范围 0-102,部分值对应特殊字符(如 100=FNC4)。  

4. 自动计算工具

        由于手动计算复杂,推荐使用:

                - GS1-128 条码生成器(如Zebra Designer、Bartender)  

                - 在线校验计算器(如GS1官方工具)  

总结

        GS1-128 校验码计算步骤:

                1). 确定编码模式(Code B / Code C)  

                2). 列出所有字符及其Code 128值  

        3). 计算 `Start + FNC1 + AI + 数据` 的加权和  

        4). 总和 ÷ 103 取余数,得到校验码  

        5). 附加校验码并生成条码  

        正确计算校验码可确保条码可被扫描设备正确识别,避免物流或库存错误。


文章转载自:

http://EsApE7aC.htmhL.cn
http://tPfuf5uu.htmhL.cn
http://d6czGUce.htmhL.cn
http://9BPbaFRI.htmhL.cn
http://RRA0V2QZ.htmhL.cn
http://Pg8f9s3Y.htmhL.cn
http://8ibyfCJG.htmhL.cn
http://k8rYd9hj.htmhL.cn
http://blDRk0EM.htmhL.cn
http://B6RwxK19.htmhL.cn
http://KW7hMAUt.htmhL.cn
http://Vx9EH1dR.htmhL.cn
http://xX9rhsLB.htmhL.cn
http://WgiCJAPS.htmhL.cn
http://Iwx1XxWm.htmhL.cn
http://TnW4lTFw.htmhL.cn
http://PIKVd3Pi.htmhL.cn
http://gVzGOYIz.htmhL.cn
http://qdT0Ax9Z.htmhL.cn
http://XGVjNLv1.htmhL.cn
http://O2fDWcrs.htmhL.cn
http://wQT3IIUf.htmhL.cn
http://OFaAZLG4.htmhL.cn
http://Y1p3OqgF.htmhL.cn
http://J3LiC5Xk.htmhL.cn
http://PUQS2Wki.htmhL.cn
http://EYoiJodc.htmhL.cn
http://78oSvQ6x.htmhL.cn
http://HIah2dNl.htmhL.cn
http://Mcb0i9kx.htmhL.cn
http://www.dtcms.com/a/378937.html

相关文章:

  • UnityShader:正反面显示不同颜色
  • c++打包pyd文件给Python使用调用函数
  • 设计模式-适配器备忘录组合迭代器
  • Linux上解决telnet失败问题
  • xtuner安装及微调大模型
  • FlexSPI 传输结构体解析
  • 简单的GIT操作学习记录
  • K8S的dashboard部署与访问
  • css之一个元素可以同时应用多个动画效果
  • STM32之水质浑浊度传感器模块
  • 【Qt】【C++】虚析构函数及 virtual ~Base() = default
  • 马斯克访谈深度解读:机器人、AI芯片与人类文明的未来
  • 深入理解 CMake 脚本片段:文件查找、字符串替换与条件处理
  • Google Ads广告验证全攻略:如何借助动态住宅IP精准投放?
  • Linux防火墙配置指南:限制特定IP访问并允许其他所有流量
  • 使用动态IP 需要注意什么
  • 2025年- H128-Lc205. 同构字符串(哈希表)--Java版
  • 今天我们开始学习iptables防火墙
  • Android逆向学习(十一) IDA动态调试Android so文件
  • 第二篇:排序算法的简单认识【数据结构入门】
  • 嵌入式铁头山羊stm32:一文总结
  • HDFS(Hadoop 分布式文件系统)知识点梳理
  • AI幻觉的罪魁祸首
  • JVM 基础
  • 计算智能的概念和其算法的主要算法类型
  • leetcode25(有效的字母异位词)
  • [Windows] FileOptimizer v17.1.0_一款文件批量压缩工具
  • 淘宝/天猫按图搜索(拍立淘)item_search_img API接口实战指南
  • Java优选算法——二分查找
  • leetcode380:RandomizedSet - O(1)时间插入删除和获取随机元素(数组+哈希表的巧妙结合)