我对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 格式添加一个零。感谢您的关注,希望这会有所帮助。