如何使用组分隔符解析GS1条码?

问题描述 投票:-1回答:1

我正在为设备Zebra MC33开发应用程序。我需要根据组来解析GS1_EXP条码。两组条形码的示例:

(01)12345678901234(10)ABCD1234

[有2个类似的问题,我想他们都没有回答。GS1-128 barcode parsingGS1 barcode parsing

我只知道两种在我的代码中如何从扫描仪获取数据的方法:

data.getData();

data.getRawData()

方法的完整示例,其中数据来自扫描仪,我可以操纵它:

 public void onData(ScanDataCollection scanDataCollection) 
{
...
if (scanDataCollection != null && scanDataCollection.getResult() == ScannerResults.SUCCESS)
                {
                    ArrayList<ScanDataCollection.ScanData> scanData = scanDataCollection.getScanData();
                    for (ScanDataCollection.ScanData data : scanData) {
                        // Get the scanned data
                        data.getData();
                    }
                }
...
}

这两种方法都会重新调整与人类可见的符号相同的符号。而且我无法检测到特殊的FNC1字符,该字符是各节之间的分隔符。有人知道如何正确解析条形码吗?

java android parsing barcode-scanner zebra
1个回答
0
投票

对FNC1字符的解释可以/应该在扫描仪固件直接上编程。因此,如果将FCN1字符放置​​在条形码中的某个位置,它将被人类可读的字符替换。通常,FCN1字符只能由扫描仪读取。

例如,使用代码30:变量计数n2 + n..8:默认情况下,条形码中包含前两个字符(30),其余字符长度可能在1到8个字符之间。假设变量计数仅包含3个字符,因此这3个字符后跟一个FCN1字符,以“终止”条形码的这一部分并从下一个键值组开始。

[看看如何对扫描仪进行编程,以将FCN1代码替换为人类可读的字符(例如,$)。之后,您将能够像冠军一样解析和解释提示的条形码:)。

© www.soinside.com 2019 - 2024. All rights reserved.