关于条形码, UPC-E EAN-8 具有相同数量的数字。 (8)

当我扫描条形码时,我必须删除校验位。我必须删除它以与数据库中的条形码匹配。

我如何区分这两者? 对于我的其他条码,我根据数字长度进行区分并删除最后一位,但对于这两个我不能,因为它们都是 8 位,只有 1 个需要删除校验位

  • EAN-8 的校验位不需要去除
  • UPC-E 的校验位是需要删除的字符索引 7(最后一位)以及索引 0(第一位)处的数字系统字符。

  • 有没有一种方法可以根据校验位算法进行区分,或者...

    最佳答案

    我不认为你总是可以。 EAN-8 和 UPC-E 具有不同的校验和机制。对于 UPC-E,您首先扩展到 UPC-A,然后计算校验和。对于 EAN-8,您只需使用前 7 位数字。如果校验位仅对 EAN-8 或 UPC-E 有效,那么您就得到了答案。但是如果两者匹配(我相信这可能发生),那么您无法仅根据数字来确定它是 EAN8 还是 UPCE。

    关于swift - Swift 中 UPC-E 和 EAN-8 的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27573543/

    10-10 23:01