【问题标题】:GS1 barcode parsing - It seems that there is no separating characterGS1条码解析——好像没有分隔符
【发布时间】:2021-12-09 00:59:24
【问题描述】:

我有一个用于解析 GS1 条形码的程序(使用 Zebra 扫描仪),它工作得很好,至少我认为没问题... 直到我遇到一个带有 2 个 GS1 条形码的盒子......一个“线性”和一个数据矩阵 (UDI)。对于线性,它工作得很好,我成功地取出了 GTIN 和序列号。但数据矩阵不同。由于某种原因,它的内容比线性代码长了一点,它有一些生产日期和其他一些东西。

这是线性代码:(01)00380652555852(17)260221(21)25146965079(30)1 这是数据矩阵:(01)00380652555852(17)260221(21)2514696507911210222240SA60AT225

我无法解析序列号 - 25146965079。 GS1 中的序列号长度为 1-20 个字符。这个有 11 个,但是我怎样才能让它在 9 个字符之后停止?我怎么知道连续剧到此结束? 我尝试将每个字符转换为 UDI,但似乎没有特殊的分隔字符或任何东西..所以老实说我不知道​​该怎么做。有人知道吗?

这是代码,如果有人想尝试任何东西https://prnt.sc/1x2sw8l

那些代码/产品来自制造商,所以代码应该没有任何问题,我猜......

【问题讨论】:

    标签: c# .net xamarin barcode gs1-datamatrix


    【解决方案1】:

    如果您使用designed to interpret a GS1 结构的扫描仪验证条形码,您会发现生成的条形码实际上是不正确的。

    您缺少GS after the serial number,如果它不是最后一个,则这些代码必须以可变长度字段结尾。这在GS1 general specifications 7.8.5.2 节中指定

    如果没有这个分隔符,您将无法知道序列在哪里结束 - 或者,解释代码的机器无法知道。

    告诉制造商他们需要研究GS1 specs

    编辑:“正确”的版本是:

    (01)00380652555852(17)260221(21)25146965079<GS>(11)210222(240)SA60AT225
    

    括号和组分隔符&lt;GS&gt; 不包含在代码中。

    由于您有两个可变长度标识符 (21) 和 (240),因此无论您做什么都需要一个 GS。唯一的选择是对序列号进行一些填充,然后您可以不使用分隔符。

    【讨论】:

    • 是的,我用 Zebra TC25 扫描仪、一些 android 应用程序和一些在线解码器对其进行了测试,都给了我相同的结果。至少现在我知道这没有什么问题,但都是关于代码的。感谢您的详细解释!
    • FNC1 分隔符(由阅读器作为 GS 字符传输)在任何非预定义的、不可变的不需要此类终止的 AI 列表的成员的 AI 的末尾都需要。大多数“固定长度”AI 实际上需要 FNC1 终止。在需要 FNC1 端接的情况下,即使该字段被最大程度地填充,它也包括在内。原因是为编码器/解码器提供一个稳定的表库,该表库独立于未来对 GenSpecs 的更改。在此处查看“*”条目:github.com/bwipp/postscriptbarcode/blob/master/contrib/…
    【解决方案2】:

    根据GS1 documentation(第156页及以后)

    所有字段都正确

    (01)00380652555852 --> GTIN

    (17)260221 --> 有效期

    (21)25146965079 --> 序列号

    (11)210222 --> 生产日期

    (240)SA60AT225 --> 附加产品标识

    我尝试扫描图像,但结果与您的相同。

    所以问题是分隔符不存在。这对你来说是个问题,没有分隔符就无法知道序列号在哪里结束。

    【讨论】:

    • 请记住,(11) 被定义为正好有 6 位数字,这意味着以下标识符将是 (240)(附加项目信息)而不是 (22)(顺便说一句,在标准)
    • 哦,你是对的! “2”太多了。我会解决的。
    • 顺便说一句,(22)它在标准中定义,它是“消费者产品变体”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多