2016-05-17 555 views
1

扫描仪型号: - Motorola- DS4208-HCGS1-128条码解析

我们需要解析GS1-128条码。我们知道他们将使用GTIN(01),批号(10),有效日期(17),序列号(21)。 输入字符串: - (01)07612345678900(17)100503(10)AC3453G3(21)455777

的问题是,条形码阅读器输出一个字符串,格式是这样的:

01076123456789001710050310AC3453G321455777

由于没有分离器,根据GS1标准,序列号和批号都是可变长度,所以我们很难识别这些分段。

在未填充到最大值的变长字段末尾应该有一个FNC1字符;这样FNC1就会出现在G3和21之间。我读到的是NC1对人类是不可见的,但是可以被扫描仪检测到,并且会被扫描仪报告的字符串重现。只需将字符串直接发送到文本文件并使用十六进制阅读器检查文本。 FNC1应该是显而易见的。但是我们仍然无法在阅读器中阅读FNC1。

+0

FNC1字符必须包含可变长度字段,无论它是否填充到最大值。这些标准规定,当用作GS1应用标识符标准格式中的字段分隔符时,必须将FNC1解码为GS控制字符(ASCII 29)。 –

+0

您应该尝试使用在线条码生成器(http://www.terryburton.co.uk/barcodewriter/generator/)生成已知正确的GS1-128符号,并查看扫描仪生成的输出。 (此条形码生成器接受人类可读的输入到GS1-128,并会根据需要自动将FNC1字符放入编码数据中。)如果在扫描这些符号时看不到GS字符,则需要修复/更换扫描解决方案。 –

回答