Aztec码(英语:Aztec Code)也称阿兹特克码,是一种由Andrew Longacre, Jr.(英语:Andrew Longacre, Jr.)和Robert Hussey于1995年发明的二维码。该种条码1997年由AIM公司(英语:Association for Automatic Identification and Mobility)公布。尽管Aztec码已获专利,但该专利已进入公有领域。Aztec码也被发布为ISO/IEC 24778:2008标准。Aztec码的名称源自中心图案与阿兹特克金字塔(英语:Aztec Pyramids)的相似性。因为不需要边缘留白(静区),Aztec码可能比其他矩阵条码使用更少的空间。
该种符号构筑在方形网格上,其中心有一个“牛眼”图案用以定位该码。数据围绕该牛眼图案做同心方形环状编码。中心的“牛眼”为9×9或13×13像素,并在周围的一行像素编码基本编码参数,产生一个11×11或15×15的核心(core)。而数据以层(layers)添加,每个层包含2环像素,总像素形成15×15、19×19、23×23等。
核心的边角存在方向标记,以支持图案被旋转或镜像时读取代码。解码从有三个像素的边角开始,然后顺时针到两个像素、一个像素、零个像素的边角。在中心的核心编码载有尺寸信息,所以不需要其他一些条码所需要的空白“静区”来标记代码边缘。
The core of the compact Aztec code (red ascending diagonal hatching), showing the central bulls-eye, the four orientation marks (blue diagonal cross-hatching), and space for 28 bits (7 bits per side) of coding information (green horizontal hatching). The first ring of data begins outside that (grey descending diagonal hatching).
The core of the full Aztec code. 40 bits are available between the orientation marks for encoding parameters.
Message data is placed in a spiral pattern around the core. The mode message begins "01011100", indicating 01₂+1 = 2 layers, and 011100₂+1 = 29 data codewords (of 6 bits each).
编码过程含如下步骤:
比特字符串与其他形式间的所有转换都根据大端(重要位优先)约定执行。
所有8位的值都可编码,另加上两个转义代码。
默认情况下,0–127的码遵循ANSI X3.4 (ASCII)解释,128–255遵循ISO 8859-1: Latin Alphabet No. 1解释。这对应ECI 000003。
模式消息在消息中编码了层数(层数 编码为整数−1)和数据码字(codewords)数量(码字编码为整数−1)。剩余的码字用作检查码字。
阿兹特克码被广泛用于交通票务。
航空业(IATA的BCBP标准)已选择阿兹特克码用于电子登机牌。数家航空公司会向乘客的手机发送阿兹特克码作为登机牌。这通常与乘客手机上的移动应用(包括Apple Wallet)集成。
Aztec码也被用于铁路行业,包括欧洲之星、德国铁路、DSB、捷克铁路、Slovak Railways(英语:Železničná spoločnosť Slovensko)、意大利铁路、荷兰铁路、PKP Intercity(英语:PKP Intercity)、芬兰铁路、维珍铁路、维亚铁路、瑞士联邦铁路、比利时国家铁路和法国国家铁路等公司用此支持线上销售门票,由客户打印或在手机屏幕上展示,由工作人员持手持扫描仪或通过旋转门扫描仪验证票证。
波兰的汽车登记文件中载有加密的摘要信息,该信息采用Aztec码编码。汽车保险公司可根据文件的数码照片自动填写相关信息,以加快保险理赔流程。
加拿大许多票据在使用这项技术,包括EastLink (company)(英语:EastLink (company))、萧氏通信、Bell Aliant(英语:Bell Aliant)等。