如何在不添加额外数字的情况下在 iOS 上读取 11 位 UPC 代码?

问题描述

我在 iOS 中使用 VNBarcodeObservation 编写了一个简单的条码应用程序...它在 12 位和 13 位 UPC 上运行良好。但是,当我扫描 UPC 中有 11 位数字的旧星球大战玩具时,它会在 UPC 中添加第 12 位数字。例如,代码“07628169570”被解释为“076281695709”(添加了末尾的 9)。如果我说 11 位代码是 UPCA,则网站barcode.tex-it.com 会做同样的事情(请参阅链接 - https://barcode.tec-it.com/en/UPCA?data=07628169570)-它似乎试图强制 11 位条形码充当 12 位 UPCA ,这不是我想要的......我希望它读取 11 位数字......我能做些什么来强制 VNBarcodeObservation 只查看 11 位数字?简单地删除最后一个字符不是一种选择,因为我需要该应用程序还可以读取 12 位条形码。我觉得我应该能够让应用程序在 11 位代码上使用不同的符号,但我不确定如何。谢谢。

解决方法

没有 11 位 UPC-A。
UPC-A规格为12位,13位兼容EAN。

Universal Product Code - Wikipedia
International Article Number

您使用的 Web 服务站点输入了 11 位数据作为 UPC-A,因此它可能补充了校验位并显示了正确的 UPC-A 条形码。
比如收据打印机的条码打印功能就有这样一个补充流程。


如果打印11位数字时附有条码(称为人类可读解释字符),可能会省略校验位。

可以想象,我们有一个独特的操作来区分条形码由扫描仪设备读取的情况和由人工输入的情况。

如果由人工输入,应用程序不会自动计算校验位吗?
或者,您可能更改了设置,使来自扫描仪设备的通知只有 11 位数字,并且删除了校验位。


如果您的产品带有 11 位 HRI 条形码,请找出为什么是 11 位。
您可能需要考虑一些规格。