Code-128、GS1-128 条码符号体系
Code 128 是一种条码符号体系,同时也是 GS1 组织标准的适用对象。这种条码的高数据密度使其拥有众多可能的应用场景,因而被广泛使用。
应用领域
由于数据密度高,Code 128 被应用于众多领域:- 物流:商品登记、拣货作业、订单价格扫描、库存水平核查……
- 运输和包装行业:商品识别、通过扫描元数据检查包装、作为集装箱和托盘的产品识别代码……
- 制药行业:初级和次级包装的扫描/核查、生产和运输过程中的产品追踪/监控、唯一序列号核查……
- 食品行业:读取商品标签、扫描重要元数据、扫描批号和有效期、通过扫描代码确保可追溯性……
Code 128 示例
此 Barcode Studio 教学视频演示了如何创建一个包含两个由 FNC1 分隔的应用标识符的 GS1-128。
分类
Code 128 是一种现代、中性的线性条码类型,数据密度高。由于其动态且复杂的设计能够在不影响条码密度的情况下表示字母和数字字符,因此在工业和商业领域被广泛使用。与其他方法(如 Code 39)相比,Code 128 通常能生成更紧凑的条码,尤其在文本主要由数字组成时表现更佳。
历史
Code 128 由美国 Computer Identics 公司于 1981 年为数据自动识别而开发。名称“128”意味着可编码全部 128 个 ASCII 字符。Ted Williams 被认为是其发明者。
Code 128 问世后,被 EAN/UCC(现为 GS1)以 EAN-128/UCC-128(现为 GS1-128)的名义采纳。此类条码在人可读字符中包含 FNC1 字符、应用标识符和括号(详见下文)。
符号结构
总体而言,Code 128 由七个部分组成:
- 静区 - 条码前的空白区域
- 起始符 - 向扫描器指示条码的起始位置(以及默认子集)
- 编码数据 - 定义子集中的一系列数据
- 校验符 - 由所有符号的加权和计算得出,用于确保正确性(仅在条码中编码,不作为人可读字符显示)
- 终止符 - 表示条码的结束
- 终止条 - 附加在终止符之后,用于双向扫描
- 静区 - 条码后的空白区域
技术数据
- 规范标准:Code 128 在 ISO/IEC 15417:2007 中有明确规定。
- Code 128 可编码全部 128 个标准美国 ASCII 字符,并通过使用扩展符号(FNC4),还可编码 ISO/IEC 8859-1 中定义的 Latin-1 字符。
- Code 128 有七个部分和 108 个符号。这些符号分为 103 个数据符号、3 个起始符和 2 个终止符。
- 一个 Code 128 部分由 13 个模块组成,具有四种不同的条宽和间隙宽度。为确保条码扫描清晰,左右两侧的静区必须至少为最窄条宽度的 10 倍。
- 为表示完整的 ASCII 字符集,编码字母数字数据时会在 A、B、C 三个字符集之间切换。
- Code 128 A:用于编码大写字母和特殊字符。
- Code 128 B:用于编码大写和小写字母。
- Code 128 C:用于表示数字(以数字对形式编码)。
- Code 128 包含一个基于加权模 103 算法的强制校验位。该校验位仅为“内部”使用(供扫描器识别),不具有人可读的解释。
- 单个 FNC4 起到一种“移位”字符的作用,将下一个符号字符的 ASCII 值加上 128。一对 FNC4 字符会“锁定”后续所有符号字符,直至出现另一对 FNC4 字符为止。
这些字符集是 Code 128 的一部分,由 TEC-IT 条码生成器自动选择,用户无需手动指定特定字符集。
GS1 128 符号体系
GS1-128 是由 GS1 组织 基于 Code 128 开发的标准。该标准定义了统一的语法和语义。GS1-128 充当数据载体与 GS1 规范中定义的数据结构之间的桥梁。
GS1-128 的主要特点是能够编码超出单纯产品识别的数据。例如,它可以在单个 GS1-128 条码中同时传递商品编号、批号和有效期。
由于 GS1 系统的高效性和灵活性,它可用于众多领域,尤其是在工业或商业部门。
结构
- 左侧静区。
- 起始模式:一个起始字符(A、B 或 C),后接功能 1 符号字符(FNC1)。
选定 GS1-128 后,TEC-IT 条码生成器会在起始字符之后自动编码 FNC1。
- 编码数据:遵循 GS1 标准的数据由若干应用标识符(AI)与用户数据的组合构成。AI 有助于区分各个数据元素。可变长度字段必须以 FNC1 结束。在人可读文本中,应用标识符编号会以括号形式显示。
- 一个符号校验字符。
- 终止符。
- 右侧静区
子变体及衍生标准
以下条码均基于 GS1-128。
- SSCC - 系列货运包装箱代码(使用 AI 00 的 GS1-128)
- NVE - Nummer der Versandeinheit(使用 AI 00 的 GS1-128)
- EAN-14 - 使用 AI 02 编码 GTIN-14
- EAN-128 - 欧洲商品编号 - GS1-128 的早期标准
- UCC-128 - 统一代码委员会 - GS1-128 的早期标准
技术数据
- GS1-128 的规范参考可见于 GS1 通用规范。
- Code 128 与 GS1-128 之间的主要区别在于起始字符前的 FNC1 字符以及 GS1 应用标识符标准的使用。
- 支持双向解码,属于连续型条码,具有字符自校验功能。
- 数据字符密度为每个符号字符 11 个模块(在字符集 C 中每个数字字符为 5.5 个模块)。
- 包含静区在内,最大物理长度为 165.10 毫米(6.5 英寸)。
- 单个符号中的最大数据字符数为 48。
- 最小模块宽度取决于具体应用——一般分销场景为 0.495 mm,特定场景为 0.250 mm。
- 应用标识符(AI)元素字符串中允许的字符限于 ISO/IEC 646 表 1。这意味着扩展 ASCII 值 128 到 255 的字符不能用于 GS1-128 条码。
创建 Code 128 条码
以下 TEC-IT 产品支持生成 Code-128 和 GS1-128:

