我正在为设备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字符,该字符是各节之间的分隔符。有人知道如何正确解析条形码吗?
对FNC1字符的解释可以/应该在扫描仪固件直接上编程。因此,如果将FCN1字符放置在条形码中的某个位置,它将被人类可读的字符替换。通常,FCN1字符只能由扫描仪读取。
例如,使用代码30:变量计数n2 + n..8:默认情况下,条形码中包含前两个字符(30),其余字符长度可能在1到8个字符之间。假设变量计数仅包含3个字符,因此这3个字符后跟一个FCN1字符,以“终止”条形码的这一部分并从下一个键值组开始。
[看看如何对扫描仪进行编程,以将FCN1代码替换为人类可读的字符(例如,$)。之后,您将能够像冠军一样解析和解释提示的条形码:)。