GS1条码解析-好像没有分隔符

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

我有一个解析 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
5个回答
3
投票

如果您使用设计用于解释 GS1结构的扫描仪验证条形码,您会发现生成的条形码实际上是不正确的。

序列号后面缺少 GS ,如果不是最后一个,这些代码必须结束可变长度字段。这是在GS1通用规范第7.8.5.2节

中指定的

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

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

编辑:“正确”版本是:

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

括号和组分隔符

<GS>
并未按字面意思包含在代码中。

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


0
投票

根据GS1文档(第156页及以后)

所有字段均正确

(01)00380652555852 --> GTIN

(17)260221 --> 有效期

(21)25146965079 --> 序列号

(11)210222 --> 生产日期

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

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

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


0
投票

抱歉我的英语不好 此问题的原因是组分隔符是不可读的字符,例如,如果您专注于文本框并按大写锁定按钮或 Shift 按钮,则文本框中不会出现与 gs 中相同的内容 为了解决这个问题 公共 l 作为整数 并将以下代码放入 keyup 事件中

If textbox1.textlenght = l then
My.combuter.keybord.sendkeys({enter})
L= textbox1.textlenght
End if

此代码将在每个垃圾之后提供空间(因为每个垃圾与 cabslock 按钮相结合),并在群组空间中提供五个空间


0
投票

将原始输入存储在 KeyPress 事件中,然后读取字母或数字的字符。

        if (e.KeyChar != 13)
        {
            int asci = Convert.ToInt32(e.KeyChar);
            if (asci > 31 && asci < 128) // numeric and chars only
                rawbcode += Convert.ToChar((int)(e.KeyChar & 0xffff));             
            else
            {
                if (asci == 29)
                {
                    rawbcode += "<GS>"; // GS1 Seperator    
                }
            }
        }

-3
投票

只是为了补充这些专业意见。

请阅读扫描到的二维码原始数据并检查是否有“”信息,显示格式可能不同(或读为十六进制)。

www.gs1reader.com

© www.soinside.com 2019 - 2024. All rights reserved.