Encoding 条形码代码39扫描可靠吗?

Encoding 条形码代码39扫描可靠吗?,encoding,barcode,barcode-scanner,image-scanner,quickcontactbadge,Encoding,Barcode,Barcode Scanner,Image Scanner,Quickcontactbadge,在我的iOS应用程序中,我使用第三方扫描库扫描代码39条形码。此软件有时扫描错误(例如,“13415566”的值返回为“U*”)。有时,相同的条形码工作正常,然后再次扫描相同的代码,这是错误的 第三方软件供应商报告说,Code39不是一种“可靠”的格式,并且“它没有错误保护,通常可能会得到错误读取” 我觉得这很可笑。有问题的代码没有校验位,但即便如此,这肯定只是扫描软件中的一个bug?代码39是因为这类事情而出名的吗?如果它有时“弄错了”,它怎么可能成为一种被采用的格式呢 谢谢 代码39的可读性

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

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

我觉得这很可笑。有问题的代码没有校验位,但即便如此,这肯定只是扫描软件中的一个bug?代码39是因为这类事情而出名的吗?如果它有时“弄错了”,它怎么可能成为一种被采用的格式呢


谢谢

代码39的可读性应该没有什么大问题。当用于可靠扫描非常重要的应用中时,代码39通常以模43校验位的形式部署,以防止误读,扫描仪配置为在将代码传递到系统之前进行验证。任何半体面条形码生成器或条形码阅读器都支持代码39校验位

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

您的条形码库可能由于以下原因而混淆,但如果不对设备进行大量调试,则无法确定

下面我对齐了两个使用基于创建的代码39图像。顶部是一个水平翻转的图像,包含“U”,下面是一个包含“13415566”的图像

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

扫描器误读此未受保护的代码39是可以原谅的,但扫描器有以下内容:

  • 它应该期望在前导的开始栏序列之前有一个相当大的区域(空白)
  • 它应该期望在尾部止动杆序列之后有一个安静的区域
  • “U”的条形图并不完全正确
  • 假定的止动杆顺序不完全正确

代码39的可读性应该没有重大问题。当用于可靠扫描非常重要的应用中时,代码39通常以模43校验位的形式部署,以防止误读,扫描仪配置为在将代码传递到系统之前进行验证。任何半体面条形码生成器或条形码阅读器都支持代码39校验位

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

您的条形码库可能由于以下原因而混淆,但如果不对设备进行大量调试,则无法确定

下面我对齐了两个使用基于创建的代码39图像。顶部是一个水平翻转的图像,包含“U”,下面是一个包含“13415566”的图像

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

扫描器误读此未受保护的代码39是可以原谅的,但扫描器有以下内容:

  • 它应该期望在前导的开始栏序列之前有一个相当大的区域(空白)
  • 它应该期望在尾部止动杆序列之后有一个安静的区域
  • “U”的条形图并不完全正确
  • 假定的止动杆顺序不完全正确

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

一些条形码格式(如交错2/5)以通常出现在条形码中的模式开始和结束[I2of5以BwBw开始,以BBwB结束],并且可能会对从顶部或底部滑出的部分扫描进行误读,就像它是较短代码的有效扫描一样。其他一些条形码格式以所选的模式开始和结束,因此无法将部分扫描读取为有效数据。39号代码介于两者之间

每个有效的代码39条码以BWBBWBW开头,以WBWBBWBWWB结尾。序列WBB可能出现在一个字符的末尾,而BBwwBw可能出现在下一个字符的开头,两者之间只有一个“w”。如果条形码中出现两对这样的字符,则它们之间会出现有限种类的字符,扫描会在正确的位置退出第一对,同样,在正确的位置退出第二对,扫描器可能会看到合法形成的条形码,其内容与原件没有明显的相似性。有意选择符合必要标准的条形码数据并试图以一定角度扫描以产生错误读取的人,从许多扫描仪获得错误读取几乎没有问题,但数据和扫描角度都必须“恰到好处”,才能引发问题

如果有人担心此类误读的可能性,则可以打印条形码,以确保留下条形码的扫描不会被视为有效。这样做的一个简单方法是在条形码的上方和下方打印黑色,以便通过顶部或底部进入和/或退出的任何扫描都会将代码视为以非常厚的黑色条开始和/或结束。在里面