url - 有人可以告诉我如何为带有参数的网址创建二维码吗

标签 url qr-code encode parameters

我尝试过使用一些网页来创建 QR 码来为常规网址创建 QR,效果很好。

但是,如果我有 url 参数,则生成的 url 无法正确解码。

如果你尝试这个

http://chart.apis.google.com/chart?cht=qr&chs=500x500&choe=UTF-8&chld=H&chl=http://localhost?someparam=1&someotherparam=2

而不是指向 http://localhost?someparam=1&someotherparam=2

的二维码

Android 和 iPhone 上的 Barcodescanner 解码器应用指向

http://localhost/?someparam=1&someotherparam=2

服务器名称(域名)和参数字符串开头之间的正斜杠/显然不正确。

我假设这与 url 编码有关,我只是从可能已经解决了这个问题的人那里寻找正确方向的指针。

Zxing的二维码生成器也有同样的效果。但它似乎也依赖于 Google。

http://zxing.appspot.com/generator/

还有

http://d-project.googlecode.com/svn/trunk/misc/qrcode/js/sample.html

最佳答案

您需要URL-encode每个参数值,在您的示例中,特别是 chl 参数。如今,大多数语言都有这方面的库,或者在网络上搜索“url 编码器”将为您提供一个表单。

http://localhost?someparam=1&someotherparam=2 的 URL 编码为 http%3A%2F%2Flocalhost%3Fsomeparam%3D1%26someotherparam%3D2

此外,本身就是参数值的 URL 的任何参数值也必须进行独立的 URL 编码。

正如 Sean 在下面提到的,如果您在 appspot 页面上的表单中输入您的 URL,它会正确地对图表 URL 进行 URL 编码:

http://chart.apis.google.com/chart?cht=qr&chs=350x350&chld=L&choe=UTF-8&chl=http%3A%2F%2Flocalhost%3Fsomeparam%3D1%26someotherparam%3D

我不确定您的额外 / 评论。如果您访问您提供的 URL,则代码值为

http://localhost?someparam=1

这是预期的结果,因为 chl 参数值未转义,因此以第一个 & 结束。

关于url - 有人可以告诉我如何为带有参数的网址创建二维码吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11624485/

相关文章:

ios - 用于存储自定义对象的 Userdefault 编码器类的数据

java - 在 Java 中使用 Regex 确定字符串是否为 URL

php - 如何在php中提取二维码内容并将其存储为数组?

javascript - Instascan 无法在手机中使用

encoding - Base 64 编码有何用途?

Python - 对表中的信息进行编码

javascript - 您如何读取 URL 中带有 "&"符号的哈希值?

url - 动态 URL - 带或不带尾部斜线?

linux - 如何在 Linux 上不打开浏览器从命令行执行 URL

node.js - 如何在中心生成 QR 码和图像?