相同的 URL,不同的二维码 - 哪个更好?

相同的 URL,不同的二维码 - 哪个更好?

我使用过几个不同的在线二维码生成器网站来创建静态二维码(我从不创建动态二维码 - 我不需要它们的任何“功能”,也不想让它们跟踪我的访问者)。最近我注意到,根据我使用的网站,生成的代码略有不同,我很好奇为什么。我不知道如何分析底层数据,但我认为校验和或其他纠错技术存在差异。有没有办法知道哪个更可靠、更易读?

例如,使用 URL“https://japan.deafmin.org”,三个网站将其呈现如下,所有方块数量相同(与我尝试过的另一个工具不同,尽管我拒绝了所有选项,但它使用了更多的方块 - 似乎很可疑!)但模式不同。生成器为(从左到右)https://www.qr-code-generator.comhttps://www.qrcode-monkey.com, 和https://www.the-qrcode-generator.com前两个网站甚至是同一家公司旗下的,但是代码还是有差别的。

在此处输入图片描述

有谁知道即使代码理论上代表完全相同的字符串,哪些特征会发生变化?

更新:在了解了一些线索后,我更加困惑了。以下是两条线索:

但这让我更加困惑。理论上,我的示例中的代码 #1 和 #3 使用纠错级别 L (7%),而 #2 使用 M (15%)。但以下是 ZXing 解码后的字节:

#1 qr-code-generator
71 a4 19 68 74 74 70 73   3a 2f 2f 6a 61 70 61 6e
2e 64 65 61 66 6d 69 6e   2e 6f 72 67 00 ec 11 ec
11 ec

#2 qr-code-monkey
41 96 87 47 47 07 33 a2   f2 f6 a6 17 06 16 e2 e6
46 56 16 66 d6 96 e2 e6   f7 26 70 ec

#3 the-qr-code-generator
41 96 87 47 47 07 33 a2   f2 f6 a6 17 06 16 e2 e6
46 56 16 66 d6 96 e2 e6   f7 26 70 ec 11 ec 11 ec
11 ec

#1 包含 URL ( 68 74 74 70 73 3A 2F 2F 6A 61 70 61 6E 2E 64 65 61 66 6D 69 6E 2E 6F 72 67) 的精确字节,前后只有几个字节。#2 和 #3 与之完全不同,但彼此相似。一个谜团是,尽管 #2 据称具有最多的错误校正,但它的字节数最少 - 怎么会这样?而且 #2 的整个数据集是 #3 的子集(仅在 #3 中紧随其后11 ec 11 ec 11 ec),因此它们非常相似,但方块的图案却完全不同 - 嗯?

答案1

当然,QR 码有纠错数据。不同级别的纠错会根据级别添加更多或更少的数据。这可能是原因。如果 URL 足够长,显然更多的纠错会导致 QR 码大小跳跃。因此,一些网站会在接近该大小 QR 码可容纳的数据量时缩放纠错。

下一个选项是二维码支持多种字符编码。因此必须指定使用哪种编码。查看规范,ISO-8859-1 是“默认”,但一些较新的文档表示 UTF-8 应该是默认。因为您必须指出正在发生哪种编码,这将改变二维码。

以下是一些可供进一步阅读的链接:

https://4js.com/online_documentation/fjs-gst-2.50.02-manual-html/c_grd_barcodes_qr_code.html

https://www.qrcode.com/en/about/

相关内容