计算QR码最大数据的公式是什么?

时间:2014-07-08 04:40:07

标签: c# qr-code

我已经谷歌了,并且阅读了很多关于QR码以及可以根据各种设置使用的最大数据,所有这些都是表格格式。我似乎无法找到任何给出公式或正确解释这些值的计算方法。

我想做的是:

  • 向用户提供表单,允许他们选择格式,EC&版。
  • 然后他们可以输入一些数据并生成QR码。

完成交易。那部分很容易。

我希望包含的添加是“剩余字符数”,以便他们(用户)可以看到他们可以输入多少数据,以及属性对QR的存储容量有何影响代码。

有谁知道我在哪里可以找到公式?或者我是否需要购买ISO 18004:2006

3 个答案:

答案 0 :(得分:0)

计算可放入QRcode的数据量的公式非常复杂,没有提及它需要一些近似值才能进行计算。该公式必须根据其版本计算专用于QRCode数据的模块数量,然后计算将使用多少个代码字(8个模块的集合)进行纠错。

要计算将用于数据的模块数量,您需要知道将使用多少个模块用于功能模式。虽然这不是三个取景器模式,时间或版本/格式信息的问题,但是对齐模式会有问题,因为它们的数量取决于QRCode的版本,这意味着你无论如何都必须使用表格那一点。

对于第二部分,我不得不说我不知道​​如何根据校正容量计算纠错码字的数量。出于某种原因,使用的错误纠正码字应该与纠错容量相匹配,例如6-H QRCode可以纠正高达32.6%的数据,而不是由H校正级别设置的30%。

无论如何,正如您所看到的那样,实现公式会非常复杂。使用像已建议的表格可能是你能做的最好的事情。

答案 1 :(得分:-1)

存储空间由QR模式和您使用的版本/类型计算。更具体地说,计算基于字符的“可压缩”程度以及允许qr生成器对存在的内容使用的算法。

可以找到更多信息http://en.wikipedia.org/wiki/QR_code#Storage

答案 2 :(得分:-1)

我在20世纪90年代为Denso公司编写了QR码的原始AIM规范,同时也是ISO / IEC 18004标准的两个版本的项目编辑。人们觉得生产代码打印软件的人更容易使用查找表而不是从公式计算容量 - 没有简单的工作,因为在解析文本时必须反复考虑几个独立的变量被编码以最小化其位长度,以便实现最小的符号。最关键的因素是数据中的字符混合,数字,字母数字,汉字数据的子串的序列和长度,以及发出字符集每次变化所需的开销,然后是所需的纠错级别。我确实为ISO标准制作了一个指导部分。

相关问题