在QR码中存储压缩的字母数字字符串

时间:2013-12-12 01:05:30

标签: json compression qr-code

我正在努力将JSON片段存储到31型QR码上,以便我可以使用智能手机扫描它并解析JSON。

我遇到了一些挑战..

31型QR码是“最密集的”(缺少更好的单词)代码,我可以让我的Android设备可靠地扫描。这可以存储2677个字母数字字符,因为7%的错误更正。

我可以选择压缩优化/缩小的JSON对象并使用它编码QR码吗?可以想象,我可以存储多少数据?或者我甚至吠叫正确的树?

1 个答案:

答案 0 :(得分:4)

这一切都取决于,真的。

  1. Wi-Fi可用吗?如果是这样,请将您的JSON代码段放在Web服务器上,并在QR代码中对其URL进行编码。问题解决了。

  2. 如果这是一般消费,那么你需要知道有些手机比其他手机好。我的真的努力扫描version 25 QR code。我认为任何高于20的版本都不可靠。

  3. 使用字母数字模式几乎没有什么好处。它只存储大写字母,数字0-9和一些标点符号。每个字符5½位(每对11位),其存储容量几乎与相应的二进制模式(每个字符8位)相同。

  4. 在快速测试中gzip -n -9将545字节的JSON文件减少到219字节(原始大小的40%)。如果您以紧凑的二进制格式而不是冗长的标记格式存储数据,那么您可以做得更好。

  5. 如果您将这些QR码公开发布,则需要包含某种身份验证机制(例如,32位校验和),以防止恶意代码注入和其他愚蠢行为。