什么是校验位?条码准确性和验证的关键

什么是校验位?简而言之,校验位是添加到条形码中的额外数字,以帮助检测错误。条码校验位是在条码创建和扫描过程中使用算法计算的。如果扫描的校验位与创建的校验位匹配,则正确扫描了条形码。
试用条码打印软件
校验位是条码数据完整性、验证和质量的基础。在本博客中,我们将深入探讨什么是校验位、它们如何工作以及它们为何重要。
什么是校验位?
校验位是一种简单的错误检测方法,其背后有大量的数学原理,可确保正确扫描条形码。条形码由数字组成,校验位是条形码中的最后一个数字。

它不是条形码实际数据的一部分,而是使用复杂的方程计算的。这意味着不同的条形码值将生成不同的校验位值。
校验位在创建条形码时计算并写入。扫描条形码时,扫描仪使用相同的方程计算校验位。如果结果与条形码中打印的校验位匹配,则条形码已正确扫描。如果不匹配,扫描仪将显示错误。
最常见的一维 (1D) 条码类型使用校验位,包括:
-
代码 39
-
UPC-A / UPC-E
-
EAN-13 / EAN-8
-
ITF-14型
-
GS1-128
-
ISBN 和 ISSN
二维 (2D) 条码(例如 QR 码和 Data Matrix 条码)不使用校验位,因为它们具有更复杂的错误检测方法。
为什么校验位很重要?
条码准确性对于供应链的各个方面都至关重要,从制造到运输再到零售。如果条形码扫描不正确且未检测到错误,则错误数据会进入供应链信息系统。这可能会在整个供应链中引起问题的连锁反应。例如,如果收货部门的扫描仪将产品条形码中的“5”误读为“8”,则错误的 SKU 将被记录到库存系统中。这将导致履行问题、质量控制失败和延误。此外,还需要人工调查来追踪差异并纠正它。
校验位是防止条形码错误的第一道防线。它们可以防止常见的扫描错误和手动数据输入错误。这就是 GS1 条码标准要求校验位的原因。
校验位如何防止扫描错误
传统的条码是用激光扫描仪在一维(从左到右)上读取的。扫描仪在条形码处发出一束光。黑条吸收光线,空白处将光线反射回扫描仪。扫描仪测量反射光以读取条形码中编码的数据。这种模拟过程可能会受到污垢、损坏或任何阻止光线准确反射到扫描仪中的东西的影响。
如果污垢或损坏导致条码扫描仪读取的数据与条形码中实际编码的数据不同,则扫描仪将计算与打印的数据不同的校验位。不匹配将导致扫描仪显示错误。
校验位如何防止手动数据输入错误
如果条形码损坏严重到扫描仪根本无法读取它,则工作人员需要手动将条形码数据输入系统。校验位也可以保护这个过程。
想象一下,工作人员在输入条形码编号时不小心输入了“4”而不是“5”。工作人员将最后输入打印的校验位,但它与系统预期的校验位不匹配。错误将被识别并标记为更正。
GS1 条码标准中的校验位
GS1 是一家全球性的非营利组织,负责定义和维护跨行业使用的条码标准。GS1 条码使一个国家/地区的公司创建的条码可以被世界各地的另一家公司读取。
GS1 要求所有固定长度数字 GS1 识别密钥(例如全球贸易项目编号 (GTIN)、全球地点编号 (GLN) 和序列运输集装箱代码 (SSCC) 上都有校验位。
零售、运输和物流、医疗保健以及食品和饮料行业的公司都受益于 GS1 合规性,包括使用校验位。
校验位如何工作?
校验位是使用称为算法的数学公式计算的。当使用条形码软件创建条形码时,会自动计算校验位并将其添加到条形码的末尾。扫描条形码时,扫描仪会立即计算校验位并将其与扫描的校验位进行比较。如果匹配,则条形码扫描成功。
一种流行的校验位算法是 Modulo 10 算法。计算机可以在几毫秒内处理这种算法,但人类需要更长的时间来计算。
取一个带有数字012345678905的 UPC 条形码。以下是如何使用常见的 Modulo 10 算法计算其校验位(最后一个数字 5)的简化版本:
-
将奇数位置的数字相加(第 1、第 3、第 5 等):0 + 2 + 4 + 6 + 8 + 0 = 20
-
乘以 3:20 × 3 = 60
-
将偶数位置的数字相加(第 2、第 4、第 6 等):1 + 3 + 5 + 7 + 9 = 25
-
将结果相加:60 + 25 = 85
-
从最接近的等于或更高的 10 (90) 倍数中减去结果 (85):90 – 85 = 5
-
校验位为 5
如果扫描仪误读其中一位数字,例如 012245678905,它会将校验位计算为 6。扫描将导致错误,因为 6 与打印条形码的最后一位数字不匹配:5。
幸运的是,我们不需要手动计算校验位。LABELVIEW 等条码打印软件会自动计算条码的校验位。
管理条形码校验位的最佳实践
打印具有准确校验位的条形码的最佳方法是使用条形码标签打印软件。LABELVIEW 条码标签软件包括条码生成器向导,可自动计算和打印条码校验位。
在 LABELVIEW 中,您可以配置每个条形码的属性,包括校验位。
如何在机器可读条形码中配置校验位:

-
右键单击您的条形码并选择属性或双击条形码以打开属性。
-
选择“代码”选项卡。
-
将检查字符设置配置为 1 位或**无**。
在人类可读文本中配置校验位:

-
右键单击您的条形码并选择属性或双击条形码以打开属性。
-
选择“代码”选项卡。
-
打开 人类可读(Human Readable) 下拉窗口。
-
通过选中或取消选中该框来配置包括选中字符设置。
减少手动数据输入的最佳实践
如果您公司的员工手动将条形码数据输入系统而不是扫描,请寻找改进此过程的方法。
有关校验位的常见问题
-
如何找到校验位? 校验位始终是条形码的最后一位数字。它是使用算法计算的。你可使用条码标签打印软件计算校验位。如果你喜欢做数学,你可以手动计算。
-
是否总是需要校验位? GS1 条码标准要求在所有固定长度的 GS1 密钥标识符上都有校验位。许多行业依赖 GS1 标准进行供应链沟通。
如果您不使用 GS1 条码,请参阅您的条码标签规格,了解是否需要校验位。
-
我可以手动覆盖校验位吗?
使用条形码创建软件时,无法覆盖校验位,因为它是计算值。覆盖校验位将导致扫描错误,因为扫描仪希望看到正确的校验位。使用下载的条形码字体创建条形码可能会使用不正确的校验位,从而导致扫描错误。这就是为什么建议始终使用专业的条码标签软件来创建条码的原因。
-
校验位检测到哪些类型的错误? 校验位可以检测打印的条形码与扫描或输入的数据之间的差异。这可能包括丢失、切换或输入错误的数字。当扫描仪或系统计算的校验位与标签上打印的校验位不同时,就会发现错误。
-
如果校验位错误会怎样? 如果打印的校验位错误(例如,如果它被覆盖或计算不正确),则条形码将不会扫描。将指示错误。
-
校验位检测错误时会失败吗? 在极少数情况下,校验位可能无法检测到错误。例如,如果扫描仪误读了校验位算法中相互抵消的两位数字,则扫描仪将根据错误的数据计算正确的校验位,并且不会检测到错误。校验位算法旨在使这种可能性极为罕见。
-
校验位还用在什么地方? 除了条形码,校验位还用于需要数值精度的各种行业。银行帐号、信用卡号和身份证号码都可以使用校验位作为错误检测的一种形式。
-
是否存在更强大的错误检测方法? 是的,循环冗余校验 (CRC) 等方法提供了更强的检测能力,但更复杂。QR 码使用内置纠错而不是校验位。即使部分代码丢失或损坏,它们仍然可以被读取。
使用合规的条码打印软件自动计算校验位
让我们回顾一下我们对校验位的了解。主要要点包括:
-
校验位是一种错误检测形式,可确保正确扫描条形码
-
校验位可增强条码准确性,保护全球供应链免受深远错误的影响
-
GS1 条码标准要求所有固定长度的 GS1 密钥标识符上都有校验位
-
条码标签打印软件使用户能够自动计算和打印准确的校验位
公司使用 LABELVIEW 等条形码标签软件,因为它可以轻松准确地打印带有校验位的条形码。LABELVIEW可以生成100多种条形码,支持GS1合规性,并且可以打印到所有常见的标签打印机上。
