计算QR码最大数据量的公式是什么?
本文关键字:是什么 数据 QR 计算 | 更新日期: 2023-09-27 18:11:48
我在谷歌上搜索并阅读了很多关于QR码和基于各种设置可以使用的最大数据,所有这些都是表格格式的。我似乎找不到任何给出公式或适当解释这些值是如何计算的。
我想做的是:
- 向用户呈现一个表单,允许他们选择格式,EC &;的版本。
- 然后他们可以输入一些数据并生成二维码。
完成交易。那部分很容易。
我想添加的是一个"剩余字符计数",这样他们(用户)就可以看到他们可以输入多少数据,以及属性对QR码存储容量的影响。
有人知道我在哪里可以找到公式吗?还是我需要购买ISO 18004:2006?
计算可以放入QRcode中的数据量的公式将非常复杂,更不用说它需要一些近似值才能进行计算。该公式必须根据其版本计算专用于QRCode中的数据的模块数量,然后计算将使用多少码字(8个模块的集合)进行错误纠正。
要计算将用于数据的模块数量,您需要知道有多少模块将用于功能模式。虽然这对于三个查找器模式、时间或版本/格式信息都不是问题,但对齐模式会有问题,因为它们的数量取决于QRCode的版本,这意味着无论如何您都必须在这一点上使用表。
对于第二部分,我不得不说我不知道如何根据纠错容量来计算纠错码字的数量。由于某些原因,纠错码字的使用超出了纠错容量,例如一个6-H的QRCode可以纠错高达32.6%的数据,而不是H纠错级别设定的30%。
在任何情况下,正如你所看到的,一个公式将是相当复杂的实现。使用已经建议的表格可能是您能做的最好的事情。
我在90年代为Denso Corporation编写了QR Code的原始AIM规范,同时也是ISO/IEC 18004标准两个版本的项目编辑。人们认为,对于代码打印软件的开发人员来说,使用查找表比从公式中计算容量要容易得多——这不是一件容易的事,因为在解析要编码的文本时,有几个独立的变量必须反复考虑,以最小化其比特长度,以实现最小的符号。最关键的因素是数据中的字符组合,数字、字母数字和汉字数据的子字符串的序列和长度,以及每次字符集更改所需的开销,然后是所需的纠错级别。我确实为此制作了一个指南部分,它包含在ISO标准中。
存储由QR模式和您正在使用的版本/类型计算。更具体地说,计算是基于字符的"可压缩"程度以及qr生成器允许对当前内容使用的算法。
更多信息请访问http://en.wikipedia.org/wiki/QR_code#Storage