32

我正在尝试开发一个应用程序,该应用程序将使用票证,让用户能够验证它们。我想知道为什么我应该选择 Aztec 条形码,因为许多公司已经选择了它而不是 QR 码。Aztec 条码的优点是什么?

到目前为止我发现的很好的比较是: http ://www.tec-it.com/en/support/knowbase/barcode-overview/2d-barcodes/Default.aspx

在这里:http ://en.wikipedia.org/wiki/Aztec_Code on Usage 部分你可以看到它经常被使用。

4

2 回答 2

48

尽管 Aztec 代码更加紧凑和可调,但在开放的非专有软件中对它们的支持很差。我现在仍然会使用二维码,它在各种平台上都有非常成熟的软件支持。

如果空间对您来说非常宝贵,并且您不关心用户能够使用他们自己的软件或在各种设备上读取或生成您的代码,那么 Aztec 将是一个更好的选择。Aztec 代码不需要周围的边距,允许非常精细的纠错级别,并且具有针对更广泛的消息文本进行优化的更严格的编码。

例如,Aztec 编解码器有一种专门用于编码小写字母的模式,因此它可以对这个问题的大部分答案进行编码,每个字符只有 5 位。QR 编解码器仅针对大写 URL 进行了优化,并且必须将小写字母存储为完整的 8 位二进制数据。包含此文本的 QR 码必须编码大约 160% 的 Aztec 码数据——然后它也需要一个边距空间。

QR 码比 Aztec 码需要更多空间,但有支持它们的免费软件。

Aztec 代码可以存储更多信息,但对它们的免费支持很差。现在,它们可能更难阅读和有效生成。

在 Android 手机上,谷歌的“条形码扫描仪”应用程序将在比二维码更长的延迟后扫描 Aztec 码,用户必须在应用程序首选项中手动启用 Aztec 码扫描。

同样,免费的条形码生成器包“zint”会生成 Aztec 代码,但有一些错误,并且没有充分利用编解码器来优化它们的尺寸尽可能小。另一方面,它生成的二维码是防弹的。

于 2015-07-29T21:45:27.857 回答
17

我对 FLOSS 对编码和解码 Aztec 代码的支持相对不完整感到沮丧,在@fuzzyTew 的回答中表达了这一点。

与 Aztec 相比,用于编码和解码 QR 的开源代码要多得多,而且功能更完整且经过全面测试

真可惜,因为 Aztec Code 在很多方面都优于 QR。正如@fuzzyTew 的回答中所述……</p>

  • Aztec 不需要符号周围的空白“安静区域”,而 QR 则需要。
  • Aztec 提供连续可调的纠错级别,而 QR 码仅提供几个离散级别
  • Aztec 提供比 QR 高得多的密度,适用于主要由标准 ASCII 文本组成的典型应用。
    • 与 Aztec 相比,QR 在编码小写拉丁字母(8 位 / 字符)方面效率特别低,而 Aztec(5 位 / 字符)。
    • 最大的 QR 大小,177×177 块,可以存储 2953 字节的二进制模式,具有低纠错率 (~7%),而最大的 Aztec 大小,151×151 块,可以存储 2318 字节的二进制模式,等效错误率为 7%更正。在那个大小下,Aztec 需要 ~9.83 块/字节,而 QR 需要 ~10.61。

Aztec 的大部分开源支持都是基于ZXing的。这包括Android Barcode Scanner应用程序以及许多在线编码器和解码器。

直到最近,ZXing 的 Aztec Code 实现还不能正确支持非Latin1字符的编码或解码。(QR、Aztec、PDF417 和 Data Matrix 都使用ECI来支持其他字符编码。)

最近我开始做一些事情:

  • 我在 ZXing 中添加了对来自 Aztec 的非拉丁语字符的正确解码的支持。
  • 我在 ZXing 中为 Aztec添加了对正确编码非拉丁语字符集的支持。
  • 我还在Python模块中添加了对编码非拉丁语字符集的支持。aztec_code_generator

这一切的重点是:实际上不需要做大量工作来获得高质量的开源 Aztec 编码器/检测器/解码器。

于 2020-10-29T05:58:50.893 回答