5

二维码可以存储大约 20 000 个字符吗?(或者更多?http://blog.qr4.nl/page/QR-Code-Data-Capacity.aspx

我只想存储 ascii 符号(带有额外破折号的字符和数字等)。

据我所知,可以以 80-98% 的比率压缩不复杂的文本,这听起来很有希望:http: //www.maximumcompression.com/index.html

你有更多的经验吗?感谢分享!

4

3 回答 3

9

如果您的问题是:“是否可以在 QR 码中存储 20K 个字符?”,那么答案是肯定的,可以

如果您的问题是:“是否可以保证您始终能够在 QR 码中存储 20K 个字符进行压缩?”,答案是否定的。由于鸽巢原理,无法保证这一点。

如果您的问题是:“是否有一个“舒适区”,其中最大大小为 20K 的文本输入很可能适合 QR 码?”,正确的答案是:这取决于您的输入数据。一个更有风险的答案是:如果您正在处理“普通文本”数据,例如书籍内容,您可能要求太多。

你提到的80-90%的压缩率是可能的,因为输入数据非常大(几MB),而且解压算法很慢。对于“小”输入数据,例如 20K 字符,“普通文本”的压缩率更可能在 50-70% 范围内,具体取决于算法强度(例如 PPM,非常适合此类输入数据)。

显然,如果您的输入数据是一种“日志文件”,具有大量重复,那么是的,压缩率 > 95% 很容易获得。

但压缩比并不是唯一需要考虑的因素。对于“现实生活”中的使用,您还必须考虑 QR 尺寸,以及 QR 打印的合理校正水平。至少在现实生活场景中,押注“最大容量和最低可能的修正”是一个相当错误的赌注。您必须询问周围的人以了解您的 QR 码的“合理限制”是什么。最有可能的是,打印功能会妨碍您,您将不得不接受低于最大值的东西。

最后一点,不要忘记压缩数据是“二进制”,而不是“字母数字”。因此,您的 QR 码的最终容量位于最后一列。这比“字母数字”列少得多。

于 2012-06-14T12:22:27.807 回答
3

QR 码对字母数字数据具有特殊的编码模式(仅大写,加上数字和一些符号)。每个字符使用少于 8 位,在这种模式下最多可以存储 4,296 个字符。

这应该接近最优。对于更简单的数据(如所有 alpha),像 gzip 这样的压缩算法可能能够实现每字节更少的位数。当然,没有标准阅读器会这样解释压缩后的有效负载。只有特殊的读者才能做到。

您可以通过这种方式将 5 倍以上的数据放入 QR 码中吗?不,几乎可以肯定不是,除非是像 20,000 个“a”这样的微不足道的情况。

即使可以,它也会创建一个大而复杂的二维码。在实践中,任何超过几百字节的东西都很难扫描。最大的版本 40 在现实世界中毫无用处。甚至版本 20 也是。

于 2012-06-14T12:34:29.923 回答
3

在实践中,当您想使用 QR 存储大量数据时,您只需存储一个指向数据位置的 URL。

当您必须支持现实生活中的设备时,理论上可能的情况与实际可能的情况大不相同。祝你好运,用低端智能手机摄像头扫描高于版本 10(57x57 模块)的任何东西。

于 2015-04-22T22:02:56.990 回答