14

似乎我 iPhone 上的大多数(如果不是全部)QR 阅读器都可以处理没有http://的 URL,但我想知道这是否通用?安卓?黑莓?是否有我应该阅读的 RFC

我正在构建一个 QR 管理/url 缩短系统,想知道它是否绝对必要。如果没有,我可以从 QR 的 URL 中删除 7 个字符,并将它们设为最低级别的复杂性(16 个字符或更少)。从我读过的所有内容来看,这是一件好事™。

4

4 回答 4

14

我还没有找到任何绝对的文件说它必须有它。但是......在测试了一些 QR 阅读器应用程序之后,很明显,如果其中没有 http://,它们中的许多人会“猜测”一个 url。但很多人不这样做,只是将其显示为一个字符串。由于它是一个 URL,它确实需要它。如果任何应用程序无法阅读它,那么我必须向它们鞠躬并为所有应用程序添加它。

于 2010-11-22T16:10:23.527 回答
11

嘿,丹,我是条形码扫描仪的开发人员,刚刚看到您的问题。我还有一些信息可能会有所帮助。

对此没有真正的“标准”。我想 HTTP 规范是最接近的,从技术上讲,它确实说你需要“http://”。这个 wiki包含我们认为我们知道的关于该领域标准和事实上的标准的所有信息。

我可以告诉你,二维码有特殊的模式来只编码数字和只编码字母数字的文本。alpha 模式仅包含大写字母,但确实包含冒号和斜杠等关键标点符号。因此,HTTP://EXAMPLE.ORG/BAR应该可以在 QR 码中以比http://example.org/bar.

但是,URL 本身是区分大小写的。将 URL 大写不一定可以。但服务器应用程序可能不区分大小写。如果您控制端点并且知道您可以使用全部大写,那么这可能是挤入版本 1 的一种方式。

最后我会说版本 1 的二维码有点奇怪,因为它们没有对齐模式。如果没有第四点要找到,它(好吧,条形码扫描仪采用的愚蠢但有效的过程以及许多扫描仪的扩展)不能解释透视失真。它碰巧只在很小的倾斜下工作。但是版本 2 实际上在使用该对齐模式的可解码性方面具有很小的优势。

于 2010-12-10T12:58:55.280 回答
3

QR readers usually identify as a URL any text that conform to ANY of this conditions:

  • Text starts with http:// (or HTTP://)
  • Text starts with www.
  • Text starts with MEBKM: (NTT DoCoMo format for web bookmark)

You should be fine without http if your url starts with www. but it's not your case.

As Sean points out, you should use all-caps urls instead.

You can fit up to 24 alphanumeric characters in a Version 1 level L QR, wich is just enought for a url shortener. Example:

HTTP://1QR.ES/AAAAAAAAAA

HTTP://1QR.ES/AAAAAAAAAA

于 2012-08-07T12:46:56.670 回答
2

有趣的事实:三星 Galaxy 手机(例如 S8 和 S9)会在其文本编辑器中打开一个带有“HTTP”或“HTTPS”(大写)的 URL 的二维码。使用小写“http”或“https”创建相同的 URL 和相同的 URL,它将按预期在浏览器中打开。

于 2021-03-25T22:59:21.163 回答