为什么使用Zxing时头部零丢失读取JAN/EAN-13条形码



我对zxing和条形码标准很陌生。我现在正在开发一个使用zxing-android-embeded和zxing-core版本3.2.0的Android应用程序。当我尝试读取一些 EAN-13 代码(在日本是 JAN-13,我认为标准应该类似)以零开头,但我发现零丢失了。例如,源码为:

0200004410007

但我在应用程序中得到的是:

200004410007

此外,当我在GooglePlay中使用zxing APP时,结果也很200004410007。

谁能告诉我为什么第一个"0"丢失了?另外,如果我需要像原始版本一样阅读它,是否有必要自己添加"0"?

---更新---

我尝试使用以下方法获取条形码结果的格式:

result.getBarcodeFormat();

我得到的是"UPC-A",意思是当我扫描EAN-13编码的条形码时,但zxing认为它是UPC-A。这是zxing中的bug吗?

嗯,我想我在这里找到了这个问题,尽管它可能不是那么相关:

UPC-A 是 EAN-13 的子集,任何以 0 开头的 EAN-13 都将被视为 UPC-A,即 12 位数字,不含前导 0。

维基百科页面在这里

所以这意味着我需要再次将 UPC-A 转换回 EAN-13。或者暴力和愚蠢的方式之一是为 UPC-A 格式添加一个零。感谢您的关注,希望这会有所帮助。

相关内容

  • 没有找到相关文章

最新更新