【发布时间】:2016-09-13 10:30:34
【问题描述】:
扫描仪型号:- Motorola- DS4208-HC
我们需要解析 GS1-128 条码。我们知道他们将使用 GTIN(01)、批号 (10)、到期日期 (17)、序列号 (21)。 输入字符串:- (01)07612345678900(17)100503(10)AC3453G3(21)455777
问题是条形码阅读器输出一个字符串,格式是这样的:
01076123456789001710050310AC3453G321455777
由于没有分隔符,并且根据 GS1 标准,序列号和批号都是可变长度的,因此我们很难识别分段。
在未填充到最大值的可变长度字段的末尾应该有一个 FNC1 字符;这样 FNC1 就会出现在 G3 和 21 之间。我读到的是 NC1 对人类是不可见的,但可以被扫描仪检测到,并将在扫描仪报告的字符串中重现。只需将字符串直接发送到文本文件并使用十六进制阅读器检查文本。 FNC1 应该很明显。但我们仍然无法在阅读器中读取 FNC1。
【问题讨论】:
-
可变长度字段必须包含 FNC1 字符,无论是否填充到最大值。标准规定,当 FNC1 在 GS1 应用程序标识符标准格式中用作字段分隔符时,必须将其解码为 GS 控制字符 (ASCII 29)。
-
您应该尝试使用在线条码生成器 (terryburton.co.uk/barcodewriter/generator) 生成已知正确的 GS1-128 符号,然后查看扫描仪生成的输出。 (此条码生成器接受 GS1-128 的人类可读输入,并会根据需要自动将 FNC1 字符放入编码数据中。)如果在扫描这些符号时看不到 GS 字符,则需要修复/更换扫描解决方案.
-
你有没有找到解决这个问题的方法?
标签: barcode barcode-scanner barcode-printing