二维码(二维条码)编码和解码algorithm?

寻找免费/开源代码或algorithm的描述来编码(简单)和解码(硬)的二维条码二维码 。

这似乎不是一个微不足道的问题,但它在日本如此受欢迎,一定有一些已经可用的东西…

我有一个在ZXing (“斑马线”)工作的同事。

这得到了各种各样的平台支持。

(针对那些在PHP中询问QR码的人)

Google Charts QR图表types可能适合您,如果您不期望很多stream量,或者您可以caching图像。 使用起来非常简单 – 只需将文本编码到URL中。

这里有一个很好的用于编码QR码libqrencode的 LGPL库

Libqrencode是一个用于在QR码符号中编码数据的C库,它是一种2D符号体系,可以通过手持terminal(如带有CCD的手机)进行扫描。 二维码的容量高达7000位或4000个字符,非常强大。

这里是一个解码QR码的Google代码项目 – 针对iPhone,但是LGPL和源代码可用。 应该适应…

-亚当

http://www.swetake.com/qr/qr1_en.html

只是想我会提到这个解释他们如何工作的。

QR码解密 – 第1部分
QR码解密 – 第2部分
QR码揭秘 – 第3部分
QR码解密 – 第4部分
QR码揭秘 – 第5部分
QR码揭秘 – 第6部分

http://www.thonky.com/qr-code-tutorial/introduction/

要了解它背后的math理论,在mathStackexchange中有一个讨论

https://math.stackexchange.com/questions/76045/reed-solomon-polynomial-generator

PyQrCodec是一个Python库,用于将Qr代码编码为PNG,并从各种图像格式对其进行解码。

您可以直接使用zbar来解码qrcode。

#!/usr/bin/python from sys import argv import zbar import Image # create a reader scanner = zbar.ImageScanner() # configure the reader scanner.parse_config('enable') # obtain image data pil = Image.open("base.png").convert('L') width, height = pil.size raw = pil.tostring() # wrap image data image = zbar.Image(width, height, 'Y800', raw) # scan the image for barcodes scanner.scan(image) # extract results for symbol in image: # do something useful with results print 'decoded', symbol.type, 'symbol', '"%s"' % symbol.data # clean up del(image) 

您可以尝试python-qrtools: https ://launchpad.net/qr-tools它使用qrencode生成和zbar解码(从networking摄像头或文件;-)