我有一台非计算设备需要根据设备的当前状态将该设备的用户发送到某个网页。状态由多个键值对组成,我们将其编码为URL(例如http://example.com/doMyStatus?prop1=val1&prop2=val2
)。总而言之,这个URL可能会达到500多个字符,因此我们不能指望用户手动将其输入到浏览器中。
相反,我们计划显示一个QR码,其中包含用户可以通过智能手机访问的网址。
因此,我们无法将此长URL作为POST请求提交给服务器(尽管这是最好的方法)。有没有办法压缩URL以适应中等分辨率的QR码?我们只需要压缩查询字符串:QR码将包含http://example.com/decompress?compressedQueryString
等网址。
Zip + Base64只会使URL更长。我考虑过编写一个自定义URL缩短程序,并让设备在创建QR代码之前提交缩短URL,这是一项更多的工作(存储(短期!)缩短的URL),但可能是最实用的解决方案。
答案 0 :(得分:1)
我使用像http://yourls.org/这样的网址缩短器 - 它是自托管的,零维护,并且有一些plugins to autogenerate the QR codes。
答案 1 :(得分:1)
我最近created a scheme达到了约50%的压缩率。 QR codes allow direct binary data因此您不需要进行最终的base64编码步骤。