Maxicode (ISO 16023)
1980年代晚期,美国知名的UPS(United Parcel Service)快递公司认知到利用机器辨读资讯可有效改善作业效率、提高服务品质而研发的条码。
1980年代后期,美国知名的UPS(United Parcel Service)快递公司认知到利用机器辨读资讯可有效改善作业效率、提高服务品质,故从1987年开始着手於机器可读表单(Machine Readable Form)的研究,发觉到条码是相对成本最低的可行方案。为了能达到高速扫瞄的目的,UPS舍弃了堆叠式二维条码的做法,重新研发一种新的条码,在1992年时推出UPS code,并研发出相关设备,此即Maxicode的前身。1996年时,美国自动辨识协会(AIMUSA)制定统一的符号规格,称为Maxicode,也有人称USS-Maxicode(Uniform Symbology Specification- Maxicode)。本文所指的Maxicode,都是遵循AIMUSA所制订的标准。
Maxicode是一种中等容量、尺寸固定的矩阵式二维条码,它由紧密相连的六边形模组和位於符号中央位置的定位图形所组成。Maxicode是特别为高速扫瞄而设计,主要应用於包裹搜寻和追踪上。UPS除了将Maxicode应用到包裹的分类、追踪作业上,并打算推广到其他应用上。1992年与1996年所推出的Maxicode符号规格略有不同。
Maxicode允许对256个国际字符编码,包括值0~127的ASCII字元和128~255的扩展ASCII字元。在数字组合模式下,可用6个字码表示9位数字。用於代码切换和其他控制字元也包括在其字元集中。
由 UPS 开发的 Maxicode 符号系统采用六边形网格围绕“靶心”取景器图案。该符号系统专为识别包裹而设计。Maxicode 符号可以以五种模式之一进行编码。在模式 2 和 3 中,Maxicode 符号由称为主要消息和次要消息的两部分组成。主消息由结构化数据字段组成,其中包括有关正在发送的包的各种数据,而辅助消息通常由数据结构中的地址数据组成。Zint 所需的主消息格式如下表所示:
NO. | 说明 |
---|---|
1-9 | 最多可包含 9 个数字(用于模式 2)或最多 6 个字母数字字符(用于模式 3)的邮政编码数据。其余未使用的字符应使用空格字符 (ASCII 32) 填充。 |
10-12 | 符合 ISO 3166 的三位数国家代码。 |
13-15 | 三位数的服务代码。这取决于您的包裹快递员。 |
可以使用--primary=开关在命令提示符处设置主要消息。辅助消息使用正常的数据输入方法。例如:
zint -o test.eps -b 57 --primary='999999999840012' -d 'Secondary Message Here'
使用 API 时,主消息必须放在符号->主 字符串中。次要的输入方式与第 5.2 节中描述的相同。When either of these modes is selected Zint will analyse the primary message and select either mode 2 or mode 3 as appropriate.
可以使用--mode = 开关或设置option_1访问模式 4 到 6 。模式 4 到 6 不需要主消息。例如:
zint -o test.eps -b 57 --mode=4 -d 'A MaxiCode Message in Mode 4'
模式 6 保留用于维护扫描仪硬件,不应用于对用户数据进行编码。
此符号系统默认使用 Latin-1 字符编码,但也支持 ECI 编码机制。Maxicode 符号中可以放置的最大文本长度取决于文本中使用的字符类型。
下表给出了示例最大数据长度:
模式 | 大写字母的最大数据长度 | 数字的最大数据长度 | 纠错码字数 |
---|---|---|---|
2(仅限中学) | 84 | 126 | 50 |
3(仅限中学) | 84 | 126 | 50 |
4 | 93 | 135 | 50 |
5 | 77 | 110 | 66 |
6 | 93 | 135 | 50 |