概述
Data Matrix二维码由美国国际资料公司(International Data Matrix)于1989年发明,是一种由黑色、白色的色块以正方形或长方形组成的二维码,其发展构想是希望在较小的标签上存储更多的信息量。DM码的最小尺寸是目前所有条码中最小的,特别适合于小零件的的标识,直接印刷在实体上,被广泛应用在电路、药品等小件物品以及制造业的流水线生产过程。
旧版的 Data Matrix 码包括 ECC000、ECC050、ECC080、ECC100 和 ECC140,而ECC200 是最新的 Data Matrix码版本,两者最大差别在于模块数目。旧版本的模块为奇数,而新版本的模块为偶数。相比而言,ECC200容错能力较强,更为常见,以下所说的Data Matrix二维码特指ECC200。
Data Matrix 码结构
Data Matrix码由数据区、寻边区(finder pattern)和空白区(quiet zone)组成。数据区包含着编码信息,包括数字、字母和汉字等按照一定的编码规则生成。每个相同大小的黑色和白色方格称为一个数据单元,分别代表二进制的1和0。寻边区包括L型的实心定位标识和反L型的虚线时钟标识。L型实心定位标识主要用于限定DM码的物理尺寸、定位和符号失真。反L型虚线边界主要用于限定单元结构,但也能帮助确定物理尺寸及失真。条码读取器通过对定位标识与时钟标识进行图像处理来检测位置,可进行 360° 全方位读取。寻边区外层为空白区,宽度至少为1个数据单元。
DM码总共有24种尺寸规格,最小尺寸为10×10模块,最大尺寸为144×144模块。当模块数目超过26×26时将进行分区块,每个区块不会超过26个模块。此结构可防止失真。
符号尺寸 | 区块 | 数据单元 |
---|---|---|
10×10 至 26×26 | 1 | 8×8 至 24×24 |
28×28 至 52×52 | 4 | 14×14 至 24×24 |
64×64 至 104×104 | 16 | 14×14 至 24×24 |
120×120 至 144×144 | 36 | 18×18 至 22×22 |
Data Matrix 码的实际尺寸的计算方法为符号尺寸乘以模块的可印刷尺寸。
例如单元尺寸为 0.25 mm,
符号尺寸:10 × 10 模块 = 2.5 × 2.5 mm
符号尺寸:32 × 32 模块 = 8.0 × 8.0 mm
符号尺寸:8 × 18 模块 = 2.0 × 4.5 mm
编码规则
DM码数据区由相同大小的黑白格子组成,分别代表二进制的1和0,以二维元码(binary code)方式进行编码,计算机可直接读取其数据信息。最常见的编码模式采用ASCII方式,每个编码单元有8位,代表一个字节。8个方格组成L型方格阵。
如下图DM码编码的信息为“Wikipedia”,从数据区左上角第5行第1列开始编码,位于中间区域的编码单元都为标准L型,但位于边缘区域的编码单元被分为多个部分,比如首字母W,部分在左边缘,剩余的部分位于对应右边缘。两部分合起来组成标准L型编码单元。
另外,在角落中的编码单元可能组成不同的形状(非L型)
除了上述ASCII编码方式,DM编码还提供了Text、C40、X12、EDIFACT和Base256模式。
编码模式 | 字符集 | 每字符数据位数 |
---|---|---|
ASCII | 数字成对编码 | 4 |
ASCII 0-127 | 8 | |
扩展ASCII 128-255 | 16 | |
C40 | 主要为大写字母和数字 | 5.33 |
Text | 主要为小写字母和数字 | 5.33 |
X12 | ANSI X12 EDI 数据集 | 5.33 |
EDIFACT | ASCII 32-94 | 6 |