GS1-128(EAN-128) 详解:应用标识符
GS1-128 看起来就像一个在文本中带有括号的普通条形码。而这些括号正是关键所在——它们把原始数据变成了每个供应链系统都能理解的信息。 它过去叫 EAN-128,现在仍常写作 EAN 128 或 UCC/EAN-128。
GS1-128 是一种基于 Code 128 码制的条形码标准。它的独特之处在于结构:它不编码自由文本,而是使用应用标识符(AI)为每一段数据加上标签,这样供应链中任何位置的扫描器都能知道它读取的是产品编号、批次、有效期还是托盘 ID。
什么是应用标识符?
AI 是一段以括号显示的短数字代码,用于声明其后数据的含义。单个 GS1-128 条形码可以将多个 AI 串接在一起。常见的包括:
| AI | 含义 | 示例 |
|---|---|---|
| (00) | SSCC — 系列货运包装箱代码(物流单元) | (00)123456789012345675 |
| (01) | GTIN — 产品编号 | (01)05601234567892 |
| (10) | 批次 / 批号 | (10)ABC123 |
| (11) | 生产日期(YYMMDD) | (11)260720 |
| (17) | 有效期(YYMMDD) | (17)261231 |
| (21) | 序列号 | (21)000042 |
因此,一个读取为 (01)05601234567892(10)ABC123(17)261231 的物流条形码明确无误地表示:这个 GTIN,来自这个批次,在那个日期到期——一次扫描全部搞定。
它与普通 Code 128 有何区别
| Code 128 | GS1-128 | |
|---|---|---|
| 数据 | 自由文本,任意结构 | 通过应用标识符结构化 |
| 特殊起始 | 无需 | 前导 FNC1 字符 |
| 数据含义 | 由你自行定义 | 在所有 GS1 用户之间标准化 |
| 典型用途 | SKU、内部标签 | 物流、托盘、受监管供应链 |
究其本质,GS1-128 就是 Code 128——区别在于前导 FNC1 字符以及赋予数据共享、机器可读含义的 AI 约定。这就是为什么固定长度的 AI 无需分隔符,而可变长度的 AI 之间以 FNC1 功能字符分隔。
GS1-128 用在哪些场景
它是物流和受监管供应链的主力:运输标签、托盘和箱体标签,以及任何需要让批次、有效期或序列号数据随产品编号一起流转的场合。零售收银台在消费单元上仍然使用 EAN-13 或 UPC-A;GS1-128 则用在它们背后的箱体和托盘上。
写错的字符串照样会被画出来
GS1-128 就是在这里坑人的。在 (01) 里放 13 位数字而不是 14 位,或者把日期写成 20.01.2026 而不是 260120,符号体系一点意见都没有:Code 128 会老老实实把这些字符编进去。出来的图看着没问题,扫描器也照读不误——可是另一头的系统从里面取不出 GTIN。标签上看不出来。看得出来的是收到这批货的那个仓库。
很多免费生成器只是把字符串原样画出来,并不检查它。