使用摩托罗拉 EMDK 2.6 解码 GS1-128 UCC/EAN128

问题描述 投票:0回答:2

我想用摩托罗拉 emdk 2.6 版解码 GS1-128(形式。ECC/EAN128)条码。我使用 ES400 作为测试设备。我只得到原生文本格式的数据。

例如

(01)25416898545645(17)080600(30)0306180021
返回
012541689854564517080600300306180021

我没有得到 FNC1 (ascii102) 或 GS (ascii 29) 字符。我尝试了“RawData”但没有结果。

我该如何处理?

barcode motorola motorola-emdk gs1-128
2个回答
7
投票

“缺失”的 FNC1 不是设计出来的。规范(GS1 通用规范)规定第一个位置的 FNC1 不得在传输的消息中表示。

此外,在固定长度的应用程序标识符和条形码中的最后一个 AI 之后不需要 FNC1。您的 AI 的 01 和 17 定义为数据长度 14 和 6。AI 30 是可变长度,也是条形码中的最后一个元素,因此不需要 FNC1。

所以要解码 GS1-128:(读取 AI,如果长度定义为固定长度,则读取 x 个字符。如果它是可变长度,则读取直到 FNC1 或条码结束)重复直到条码结束。


3
投票

首先 FNC1 不应该被解码为 ascii102,而是“]C1”。看看AIM符号系统标识符.

接下来的 FNC1 应该被解码为

<GS>
,但您可能看不到它们。尝试在文本编辑器中扫描它们,保存并加载到 Scite 等文本编辑器中,您可以在其中看到控制字符。

您可以配置摩托罗拉的 DataWedge 以显示 AIM 符号系统标识符,并将

<GS>
映射到常见字符,例如
$
=

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.