无需登录 数据私有 本地保存

手动条码解码学习 - 根据黑白条计算数字

24
0
0
0
手动条码解码学习器
UPC-A / EAN-13

点击下方模块切换黑条/白空,观察实时解码结果。拖拽可批量绘制。学习一维条码编码原理。

点击模块切换黑白  |  按住拖拽批量绘制  |  共 95 个模块
解码结果

请点击模块构建条码,或点击「预设示例」查看解码演示。

解码步骤

解码步骤将在此显示。

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
条码解码常见问题

UPC-A(Universal Product Code-A)是北美最常用的零售条码标准,共12位数字。条码由95个模块组成:起始符(3模块:101) + 左半部分6位数字(42模块) + 中间分隔符(5模块:01010) + 右半部分6位数字(42模块) + 结束符(3模块:101)。每位数字用7个模块编码,左半部分使用L码,右半部分使用R码(L码的按位取反)。最后一位是校验位,由前11位计算得出。

模块是条码中最小的宽度单位。在UPC-A中,所有条和空的宽度都是模块宽度的整数倍(1-4倍)。每个数字由7个模块组成(2个条和2个空,总宽度7模块)。当多个相邻模块都是黑色时,它们会合并成一个宽条;同理多个白色模块合并成宽空。通过条和空的不同宽度组合来表示不同数字,这就是条码编码的核心原理。

L码(Left odd parity)用于左半部分,每个数字的7位编码中1的个数为奇数(如0001101有3个1)。R码(Right even parity)用于右半部分,是L码的按位取反,1的个数为偶数(如1110010有4个1)。使用两种编码有两个好处:①扫描器可以区分条码的左右方向(即使倒过来扫描也能正确识别);②左右编码不同防止了混淆。EAN-13还引入了G码(左偶数码),通过左半部分L/G混合模式隐含第1位数字。

UPC-A校验位计算步骤:①将奇数位置(第1、3、5、7、9、11位)的数字相加,乘以3;②将偶数位置(第2、4、6、8、10位)的数字相加;③将两个和相加;④取模10;⑤若结果不为0,校验位=10-结果;若为0,校验位=0。作用:校验位能检测出单个数码错误和大多数相邻数码交换错误,是条码可靠性的重要保障。扫描器读取条码后会验证校验位,不匹配则提示重新扫描。

手动读取条码步骤:①找到起始符(窄条-窄空-窄条,即101模式);②从左到右,每7个模块为一组,记录黑白模式;③左半部分用L码表查找对应数字;④遇到中间分隔符(01010)后切换到R码表;⑤右半部分用R码表查找对应数字;⑥最后验证校验位。这个工具就是为此设计的——您可以在模块编辑区练习手动识别条码模式。

EAN-13是UPC-A的超集,共13位数字。两者都有95个模块,结构相似。关键区别:①EAN-13的第1位数字(前置码)不直接编码,而是通过左半部分6位数字使用L码和G码的混合模式来隐含表示;②UPC-A左半部分全部使用L码,而EAN-13根据前置码决定L/G组合;③EAN-13是国际标准(除北美外广泛使用),UPC-A主要在北美使用。UPC-A可视为EAN-13前置码为0的特殊情况。