检查最终字符串中的 ITF 或 Code 128 条码完整性

Posted

技术标签:

【中文标题】检查最终字符串中的 ITF 或 Code 128 条码完整性【英文标题】:Checking a ITF or Code 128 bar code integrity in a final string 【发布时间】:2020-08-26 03:08:36 【问题描述】:

有一个软件可以接收条码扫描仪应用扫描的条码,也可以手动输入。

使用 EAN,一切都非常清楚:它包含一个校验位,并且使用一种特殊算法,我可以在手动输入代码时检查代码的完整性。

ITF 或 Code 128 似乎并非如此。似乎完整性检查只存在于条码级别,一旦生成了最终的代码字符串,就无法检查其完整性。我没听错吧?

【问题讨论】:

【参考方案1】:

这些条形码类型有三种不同的情况:

EAN/UPC 校验位是符号的组成部分(意味着读取器将根据校验位验证扫描),以人类可读的形式打印,并且是读取器返回值的一部分。

Code128 校验位是符号的组成部分,但通常不会以人类可读的形式打印,也不会由阅读器返回。手动输入代码时,校验位不是数据的一部分。

对于 ITF14,校验位不是符号的组成部分,因此阅读器可能无法验证它。 ITF14 只是一个 2-of-5 符号,除非阅读器配置为仅接受 ITF14,在这种情况下,应验证校验位。校验位通常以人类可读的形式打印并由阅读器返回。手动输入 ITF14 时,校验位通常是输入值的一部分。

对于 ITF14,很多行为取决于阅读器的配置。

【讨论】:

谢谢你的澄清,马克。有一件事是开放的:条形码扫描仪将来代码识别为 ITF,但解码的字符串包含 20 位数字。怎么可能? 你能贴一张这些条码的图片吗?我认为它可能是带有两位应用程序 ID 的 SSCC-18,但那是一个 code128 符号...

以上是关于检查最终字符串中的 ITF 或 Code 128 条码完整性的主要内容,如果未能解决你的问题,请参考以下文章

EAN-128和CODE-128条码一样吗?

条形码--JsBarcode

linux系统安装zint

code128条形码的开始停止字符是啥

VBA for Access 中的 Code 128 条码无法正常工作

简单介绍几种常用的条码标签打印软件