如何使用 EMDK 2.6 或 DataWedge 解释 GS1-128 UCC/EAN-128 Motorola?

Posted

技术标签:

【中文标题】如何使用 EMDK 2.6 或 DataWedge 解释 GS1-128 UCC/EAN-128 Motorola?【英文标题】:How to interpret an GS1-128 UCC/EAN-128 Motorola with EMDK 2.6 or DataWedge? 【发布时间】:2012-10-19 01:25:05 【问题描述】:

我正在尝试使用 Motorola MC3190 设备读取 ean-128。

读取示例字符串 (00)123456789012345675(15)010105,Emdk 和 Datawedge 均返回:]C10012345678901234567515010105

我读取了 FNC1 字符( "]C1" ),但是其他参数,在本例中为 (15),我如何找到它?没有特殊字符可以识别它!

【问题讨论】:

【参考方案1】:

您似乎正在尝试读取 GS1-128。条码 (00) 中的第一个 AI 是 SSCC(AI 参考 here),它是 18 位的固定长度。所以你会知道 AI 15 将在那之后立即启动。

关于使用 DataWedge 与 EMDK 读取条码:DataWedge 在我尝试时无法处理 GS1-128 中的控制字符。当然,这是一年前的事情(使用 .NET CF 2.0,以及当时可用的最新版本 DataWedge),所以从那时起情况可能有所改善。

EMDK 应正确读取 GS1-128。当您尝试查看字符串表示形式(例如,在调试器中)时,您可能会看到一些奇怪的东西,因为 FNC1 是不可打印的控制字符。但在内部,所有字节都应该在那里。

【讨论】:

在新版本的 DataWedge 3.0 中,您可以将控制字符映射到键盘原始代码(功能 Keymap)。您需要查找的唯一控制字符是 ,它仅在您读取不在字符串末尾的可变长度字段时是必需的。 啊,太好了。那么,DataWedge 可能是最简单的方法,除非您出于其他原因已经需要 EMDK。

以上是关于如何使用 EMDK 2.6 或 DataWedge 解释 GS1-128 UCC/EAN-128 Motorola?的主要内容,如果未能解决你的问题,请参考以下文章

Zebra DataWedge 是不是捕获扫描仪上的硬件按键?

2.6Flask扩展

如何在 symfony 中将教义升级到 2.6 [重复]

如何使用 Python 2.6 在 Windows 上安装 PyGTK / PyGobject?

使用 Python 2.6 设置全局热键

如何使用Mongoose和MongoDB 2.6插入子文档中数组中的特定位置