QR码编码算法

33

2
我想知道的只是它是否使用压缩或如何处理数据大小的减小,但我感到非常失望:我们真的在问问题,以便人们只回答“阅读ISO文档”吗? - jokoon
(广告)有一个已记录的Lua库,可以将数据编码成QR码:http://speedata.github.com/luaqrcode/ - topskip
4个回答

32

2
请注意,教程中似乎存在一些错误。对我来说,生成的 QR 码和“显示多项式除法步骤”页面看起来非常可疑。(例如,(α*α^210)不是α^210,而是α^211。)否则这是一个非常好的资源。 - topskip
当我通过这个教程时,那些部分并不存在。基本上那些部分是我的想法,因为我在它们上面遇到了一些严重的问题。但我认为这可能是一个打字错误,因为(对我来说)一切都正常工作。 - sschrass
一个基于thornky教程的部分实现可以在这里找到。 使用此方法的jQuery插件示例可在此处获得。 - David Johnson

9
大部分情况下,问题在于有限域算术,因为它稍微有些不同。一旦您让生成器正常工作了,纠错技术会使得很难看出代码是否生成正确。另外还有一个网站提供ECC生成器:http://www.pclviewer.com/rs2/calculator.html,但需要注意的是,这个生成器并不总是能正确地工作,和Thonky的纠错码生成器一样。
我开发了一个小项目,可以进行逐步调试,并跟踪QRCode的创建过程,手动更改所有参数,这是网络上没有其他生成器可以做到的。链接:https://github.com/Legoless/QRCode

没有收到任何东西,你把它发送到哪里了? - Legoless
谢谢,我会发布一个修复的版本。;) - Legoless
QRCode有新版本发布,修复了一些问题并添加了注释。我已经更新了答案。 - Legoless
上一篇文章的链接已经失效,看起来这是一个不错的入门点:http://www.arvystate.net/portfolio/densowave-qrcode-encoding-standard-in-net/。 - Jeroen Wiert Pluimers
1
@JeroenWiertPluimers,谢谢,已更新。在重新设计页面时忘记了它。 - Legoless
@KenB,我关闭了网站,但是项目在GitHub上可用:https://github.com/Legoless/QRCode。我修复了链接。 - Legoless

1

您可以使用JavaScript QR码符号的实现,它是ShieldUI开源包的一部分,可在此处获得。您可以在以下演示中看到基于此的jQuery QR插件实现。


1

3
感谢您,但我对数学算法感兴趣。 - Yanker
开始阅读这个,或者您可以浏览ZXing源代码,看看他们是如何实现它的。 - Matt Ball
基本编码器类:com.google.zxing.qrcode.encoder。具体来说,请查看 Encoder.java - Matt Ball
好的,这是第一步。如何将此消息转换为QR码。我找到了链接,现在知道QR码使用Reed-Solomon编码进行错误纠正。 - Yanker
你能澄清一下吗?我不明白你所说的“如何将此消息转换为QR码”的意思。 - Matt Ball
我有一条文本消息。为了生成QR码,我需要将此消息编码为二进制。例如,在条形码中使用编码表。那么如何编码格式信息和版本信息呢? - Yanker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接