首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条形码Code39扫描可靠吗?

条形码Code39扫描可靠吗?
EN

Stack Overflow用户
提问于 2013-11-27 09:14:53
回答 2查看 4.7K关注 0票数 1

在我的iOS应用程序中,我使用第三方扫描库来扫描Code39条形码。这个软件有时会出错(例如,值"13415566“返回为"U *")。有时相同的条形码工作正常,然后再扫描相同的代码,它是错误的。

第三方软件供应商报告说,Code39并不是一种“可靠”的格式,并且“它没有错误保护,并且经常有可能得到错误读取”。

我觉得这很荒谬。所讨论的代码没有校验数字,但即便如此,这肯定只是扫描软件中的一个错误?Code39是因为这类事情而出名吗?如果有时它“弄错了”,它怎么可能是采用的格式呢?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-27 13:37:26

代码39的可读性不应出现重大问题。在可靠扫描是重要的应用程序中使用时,通常部署代码39,以防止误读,在将代码传递到系统之前,扫描器配置为验证的模块化43校验数字。任何半像样的条形码发生器或条形码阅读器将支持代码39检查数字.

由于我还没有看到您正在扫描的代码39条形码的打印质量,因此不可能确定,但是,我肯定会建议您使用的是质量非常差的代码39扫描的阅读器软件。

您的条形码库可能由于以下原因而混淆,但是如果不对设备进行广泛的调试,就不可能确定.

下面我已经对齐了两个代码39图像,它们是使用基于在线条码发生器纯正PostScript条形码编写器创建的。顶部是一个水平翻转的图像,包含"U“,下面是一个包含"13415566”的图像。

从右到左阅读最上面的图像,你可以看到与底部图像的某些部分有一定程度的相似性。

扫描仪可能会被允许误读这一不受保护的代码39,除非它有以下针对它的情况:

  • 它应该期望在前导开始条序列之前有一个相当区域(空格)。
  • 它应该期望在尾随停止栏序列之后有一个相当大的区域。
  • "U“的条形不是完全正确的。
  • 假定的停止条序列不完全正确。
票数 4
EN

Stack Overflow用户

发布于 2013-12-05 18:23:42

许多条形码扫描器在一行上读取黑白部分。他们不知道这条线是水平的、垂直的还是对角线的,也不知道这条线是从一边“进入”条形码,然后离开另一边,还是从顶部进入,对角线穿过条形码,然后从底部退出。

有些条形码格式,如交错的2/5开始和结束的模式,通常会发生在条形码I2of5开始和结束以BwBw和结束从顶部或底部的部分扫描可能被误读,就好像它是一个较短的代码的有效扫描。其他一些条形码格式以选择的模式开始和结束,因此部分扫描无法读取为有效数据。代码39介于。

每个有效代码39个条形码以BwBBwBBwwBw开头,以wBwBBwBBwwB结尾。可以让序列wBwBB出现在一个字符的末尾,而BBwwBw出现在下一个字符的开头,其中只有一个"w“。如果在条形码中出现两对这样的字符,它们之间就会出现有限种类的字符,并且扫描在正确的位置退出第一对,同样地在正确的位置退出第二对,扫描器可能会看到一个合法形成的条形码,其内容与原始条形码没有明显的相似之处。如果有人故意选择符合必要标准的条形码数据,并试图以一个角度扫描它以产生假读,那么从许多扫描器中获得错误读取就不会有什么困难,但数据和扫描角度都必须“恰到好处”才能引起问题。

如果有人担心这种误读的可能性,就有可能打印条形码,以保证留下代码的扫描不会被视为有效。这样做的一个简单方法是在条形码上面和下面打印黑色,这样任何通过顶部或底部进入和/或退出的扫描都会将代码视为开始和/或以异常厚的黑色条结束。在许多看到“堆叠”条形码的地方,这些条形码将被一种不包含信息的点模式隔开,而是为了确保从一行到另一行的扫描不能被认为是有效的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20238162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档