Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to decode QR data #124

Closed
MayankFawkes opened this issue Nov 14, 2021 · 7 comments
Closed

Unable to decode QR data #124

MayankFawkes opened this issue Nov 14, 2021 · 7 comments

Comments

@MayankFawkes
Copy link

from PIL import Image
from pyzbar.pyzbar import ZBarSymbol, decode
img = Image.open('unknown.png')
output = decode(img, symbols=[ZBarSymbol.QRCODE])
print(output)

unknown

output in code:

[Decoded(data=b'PK\x03\x04\x14', type='QRCODE', rect=Rect(left=12, top=13, width=604, height=605), polygon=[Point(x=12, y=14), Point(x=12, y=618), Point(x=614, y=616), Point(x=616, y=13)])]

but this is incomplete data

when i am trying to decode on https://zxing.org/w/decode.jspx

image

this is what i want in bytes in python. but code seems cant parse the all data.

@nmccann
Copy link

nmccann commented Nov 17, 2021

I have a fork here which is able to read the provided QR code (and later unzip it, as per guidance on this blog post).

My fork incorporates the changes from this PR and this PR. The second PR seems to be the important part - it adds a binary parameter, which you can set to True for these kinds of QR codes.

Something I've found with these QR codes, is that it seems to be important to keep the data in bytes, when I convert it to a utf8 string and then back again (and I've tried a few different encodings), it results in corrupt data that can't be unzipped later.

Hopefully this helps.

@MayankFawkes
Copy link
Author

This is helpful and yeah all of those binarys are important and shouldn't be decode unless it unziped, thanks a lot for your time and reply, you saved my alot time, now i am just hoping pyzbar to accept your pr and make a release on pypi. Thanks again

I will close this once your pr is accepted.

@MayankFawkes
Copy link
Author

MayankFawkes commented Nov 18, 2021

I just tried it, reading accuracy is low or some data is missing, i tried to read QR1 and with the data of QR1 i tried to make the same QR with https://github.com/lincolnloop/python-qrcode and both are not same, even i tried to DECODE the QR1 bytes with zip it failed,

this is QR1.
okas

This QR i made from QR1 data.
okok

@nmccann
Copy link

nmccann commented Nov 18, 2021

@MayankFawkes I can confirm that the first QR code is readable and unzippable, while the second is readable but not unzippable (I get a "bad magic number" error). I've encountered something similar with Indian QR codes, I suspect that the QR Code creation library that they are using is doing something very particular that other libraries don't do. Specifically, they appear to be using this library: QRCode.react which internally is using this very old (and seemingly no longer supported) JS library: QR.js. I think there is something specific that the old library is doing that more modern ones wouldn't be doing.

Here is an example of the content of the two QR codes:

First (works)

b'PK\x03\x04\x14\x00\x08\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00certificate.json\x8cT\xdbr\xea8\x10\xfc\x15j\x1e\xb7\x1c\xe2\x0b`\xf0\xcbn\x02Ip\xc25\x06\x12\xd8:\x95\x12\xf2\x18+\xb1%\x90d\x08I\xf1\xef[29\xb9l\x9d\xec\x1e\xde\xa4\xe9i\r\xdd\xedy\x85\xbf\xa8\xe0\x1a\x9f5\x04\x7fC\xaa\xf5Z\x05\xa7\xa7\xbb\xdd\xae\xba\xf3\xaaB\xaeN]\xdbi\x9eR\x891r\xcdH\xa6N\xb7\x0eX\xef@*v\x8cWWb[e\xfc+\x8aP\xca8\xd1Lp\xd3\xf1\xc3\x02\xbd_\xa3yc\x86\x92%\x8c,3l\xbf\xe3\xc1\x82\x91\x14"\x19&\xb3\x8f\xbeO\xe5\x1f\x16|\x90G\xc5\xf2\x11\xa9\x86\xe0\xf5\x8d\x13F(\x95\xe0`\x01\x8b!\x80\x98\xc5\xc1\x19\x89SBd\xa5Md\x1c\xfc\xf1\xf6\xf3\x9bu\x0f,\x90\x98\x84\x06\xe7\xda^\xddnx\x8e\xed\xf9\r\xbb\x01\x16p\x92\x1b\xb6\x01bF\xf2\xcaU\xb1\xd6\x04,(\xd2\x92\x15,X!\x8fQB\x00\x97\x98\x93\x0c\xc1\x02\xb22\r5\xbfl63\x93\x8c\xe9=\x04\x10\xf2\x98\x113\x11\x89c\x89J\x99a\x95\x96\x88\xfa\xec\xe7\x85a\xfcr\xe5\x1e\xefb\xa6\xb4d\xe6\xff\x99\x13=\xf2}0\xdd\xe2\x8a\t\xfe\xe5\xaa-\n\xaee\xf9\xec\x00,X\x0b\xa5I\xd6\x161BP\xf3\xeb\x8d\x86s8X\xc0\x94*\xca\xe1\x7fi\x1d\x1c\x01\x84S\xec\x10\x8d\xa5:\xaesb\xfb\'\xb63\xb1[\x81c\x075\xaf\xea\xd4[\x0b\xb0\x00\xb7,FN\x8d\x9b\xafG\xc9\x7f\xc9y\x8c\x00\x9e\xfav\xddn\xf9\x9e\xe79&9\tb\xbc$\xf4i*\xb3\xef\x1a\xff\xfc\xda\xc1x"~\x1fMQj\x960J4\x96.\x7f\xad\xbe\x87\xf0#f&\\K\xa2ij\x9ct\\g\xe18&%o\xd3C\x00\xed\xe1,\x8c\xba\xe1E\xaf\x03\x16\xe4\x84\x17\t\xa1\xba\x90\xa5\x98\x11\xca"\xaf\x84\\i\xa6\x0b\x8d\x15\x91TJ\xeb\x8d\x8f\xdf\xe9\xe8V]\xd7-uL\x12\xa4\x9am1\xd2D\xea/\xd8\xcf\xd5)\xd7,\xfbw5\x16\n!p-\xd0B\x93\xac#\x14\xaa\xf2\xb8-\xbf.3\xdb\xeb\xcf<Gd\xc94\xa9L\x98\\\x13\x9d28X\x90\x10\xca\x8eI\xfd\x84\x92\xa8vD\xb3JDS!\xb2\xff\xce\xee\xa8\x90\x84\xb3J[d\x19R-QWn\xb02B\xa4)\xfe\x7f\xac;D\x97\n}\x9f\xed>\x89\xd3=\xa9\x8c$\x89Q\xa5\xbf\x95t\x80\xc3\xe1\xf0\xc3\x02.\xf8D\x12\xae\x12\x94f\xc7@\x00Z\x16f\xa8\xb5Y0\x9f\x96\xc6\xad"\x11[qb\xac4K\x0e\xca\x1dC4\xc6\xbfN\xbfq\xec\xa8.-s\xd3G\x9d\x8a\x9f\xfb\x86\xbd\x99^>2*\xe4\xba\xb4\x07\x88R&\x8e\xef`\x0b\x1ewF>\xdc_\xa7\xcb+\xca\x86\xecz<}\t\x9d\x01\x0bU\x98\x87\xee\xa0\x1d6\x16\xf9\xa5\xa2\xeeT\x85\xf9`O\xee\xc7l\x98)6\x7f\x9c\xdba\xe6\xb4\xaa\xd5\xae\xda4\xf8\x00y\xebeY\x9b\xe9\x99\xdc\xbaw\xe3\xab\xf0E\xd3l>\xa6Y4\xbe\x15\xf3\x1eN\x16\x17\xf5\xbe\xff\xe8D=1\x8c\xf8\xd0\x11\x8b\xd9\xd6\xcb\x9f\xf2n\x9fN\xecfm\xb4f\xdd\xe2Ye\xce\x9a8q\xfd\x8a7\xc4\xb5?\xdd\xc4x6\x9b\x8c\xe6\xc5\xa2\xcb\x9e\x87\x8e\xdf\xbc|\xbe\xdcm\xe2\x8b\x19\xe6\xc9\xddK\xba\xb8q\xc9no7\xdc:\xb9\x1fz\xf3\xb0\xd5\xcc\xe5\xcbx\xe0\xdd\xef\x1f\x84\x9d.\xf4]\x83\\r{\x92\xde\xa5\xb7E3\xdf\xad\x99-\x9f\xe4\xdd\xed0\xec\xd1\x87h\xaa\xf7\xad\r\x1fv\xf0<z\x9c\xc7\xf5eQ\xdc\x9d\xf7Z[}\xe3\xf7{\xc5m[\xcd\xc6\xd1P=\xac\x1a\xed\xf9\xd6\xaf\xe9\xf3\xa6\xde\xd8\xbb\ro\xb5\x9ennpy6~(\n\xe6\xb5\xe3Q=Zgu\xe7eR\xd0\x93\xf3\xfe6;y\xb8\xe9\xcd/6+\xb7\xa3\xe3\xdcn?/\xfd\xe1<\xbd\xdc\xb3\xf9=\xbd~\xecy\xeet\x1aw\xead?+\xa6\x99\x87\xf6D$\xb55\x9d5\x8a\xae\xee.g\xb5\xc9\xf4\xac\xef\x9f\x0c\xcf\xf5|~>Y\xc1\xe1\xf0O\x00\x00\x00\xff\xffPK\x07\x08\xc3\xfc\xcb!\xef\x03\x00\x00\t\x07\x00\x00PK\x01\x02\x14\x00\x14\x00\x08\x00\x08\x00\x00\x00\x00\x00\xc3\xfc\xcb!\xef\x03\x00\x00\t\x07\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00certificate.jsonPK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x00>\x00\x00\x00-\x04\x00\x00\x00\x00'

Second (doesn't work)

b'PK\x03\x04\x14\x00\x08\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00certificate.json\xc2\x8cT\xc3\x9br\xc3\xaa8\x10\xc3\xbc\x15j\x1e\xc2\xb7\x1c\xc3\xa2\x0b`\xc3\xb0\xc3\x8bn\x02Ip\xc3\x825\x06\x12\xc3\x98:\xc2\x95\x12\xc3\xb2\x18+\xc2\xb1%\xc2\x90d\x08I\xc3\xb1\xc3\xaf[29\xc2\xb9l\xc2\x9d\xc3\xac\x1e\xc3\x9e\xc2\xa4\xc3\xa9i\r\xc3\x9d\xc3\xady\xc2\x85\xc2\xbf\xc2\xa8\xc3\xa0\x1a\xc2\x9f5\x04\x7fC\xc2\xaa\xc3\xb5Z\x05\xc2\xa7\xc2\xa7\xc2\xbb\xc3\x9d\xc2\xae\xc2\xba\xc3\xb3\xc2\xaaB\xc2\xaeN]\xc3\x9bi\xc2\x9eR\xc2\x891r\xc3\x8dH\xc2\xa6N\xc2\xb7\x0eX\xc3\xaf@*v\xc2\x8cWWb[e\xc3\xbc+\xc2\x8aP\xc3\x8a8\xc3\x91Lp\xc3\x93\xc3\xb1\xc3\x83\x02\xc2\xbd_\xc2\xa3yc\xc2\x86\xc2\x92%\xc2\x8c,3l\xc2\xbf\xc3\xa3\xc3\x81\xc2\x82\xc2\x91\x14"\x19&\xc2\xb3\xc2\x8f\xc2\xbeO\xc3\xa5\x1f\x16|\xc2\x90G\xc3\x85\xc3\xb2\x11\xc2\xa9\xc2\x86\xc3\xa0\xc3\xb5\xc2\x8d\x13F(\xc2\x95\xc3\xa0`\x01\xc2\x8b!\xc2\x80\xc2\x98\xc3\x85\xc3\x81\x19\xc2\x89SBd\xc2\xa5Md\x1c\xc3\xbc\xc3\xb1\xc3\xb6\xc3\xb3\xc2\x9bu\x0f,\xc2\x90\xc2\x98\xc2\x84\x06\xc3\xa7\xc3\x9a^\xc3\x9dnx\xc2\x8e\xc3\xad\xc3\xb9\r\xc2\xbb\x01\x16p\xc2\x92\x1b\xc2\xb6\x01bF\xc3\xb2\xc3\x8aU\xc2\xb1\xc3\x96\x04,(\xc3\x92\xc2\x92\x15,X!\xc2\x8fQB\x00\xc2\x97\xc2\x98\xc2\x93\x0c\xc3\x81\x02\xc2\xb22\r5\xc2\xbfl63\xc2\x93\xc2\x8c\xc3\xa9=\x04\x10\xc3\xb2\xc2\x98\x113\x11\xc2\x89c\xc2\x89J\xc2\x99a\xc2\x95\xc2\x96\xc2\x88\xc3\xba\xc3\xac\xc3\xa7\xc2\x85a\xc3\xbcr\xc3\xa5\x1e\xc3\xafb\xc2\xa6\xc2\xb4d\xc3\xa6\xc3\xbf\xc2\x99\x13=\xc3\xb2}0\xc3\x9d\xc3\xa2\xc2\x8a\t\xc3\xbe\xc3\xa5\xc2\xaa-\n\xc2\xaee\xc3\xb9\xc3\xac\x00,X\x0b\xc2\xa5I\xc3\x96\x161BP\xc3\xb3\xc3\xab\xc2\x8d\xc2\x86s8X\xc3\x80\xc2\x94*\xc3\x8a\xc3\xa1\x7fi\x1d\x1c\x01\xc2\x84S\xc3\xac\x10\xc2\x8d\xc2\xa5:\xc2\xaesb\xc3\xbb\'\xc2\xb63\xc2\xb1[\xc2\x81c\x075\xc2\xaf\xc3\xaa\xc3\x94[\x0b\xc2\xb0\x00\xc2\xb7,FN\xc2\x8d\xc2\x9b\xc2\xafG\xc3\x89\x7f\xc3\x89y\xc2\x8c\x00\xc2\x9e\xc3\xbav\xc3\x9dn\xc3\xb9\xc2\x9e\xc3\xa79&9\tb\xc2\xbc$\xc3\xb4i*\xc2\xb3\xc3\xaf\x1a\xc3\xbf\xc3\xbc\xc3\x9a\xc3\x81x"~\x1fMQj\xc2\x960J4\xc2\x96.\x7f\xc2\xad\xc2\xbe\xc2\x87\xc3\xb0#f&\\K\xc2\xa2ij\xc2\x9ct\\g\xc3\xa18&%o\xc3\x93C\x00\xc3\xad\xc3\xa1,\xc2\x8c\xc2\xba\xc3\xa1E\xc2\xaf\x03\x16\xc3\xa4\xc2\x84\x17\t\xc2\xa1\xc2\xba\xc2\x90\xc2\xa5\xc2\x98\x11\xc3\x8a"\xc2\xaf\xc2\x84\\i\xc2\xa6\x0b\xc2\x8d\x15\xc2\x91TJ\xc3\xab\xc2\x8d\xc2\x8f\xc3\x9f\xc3\xa9\xc3\xa8V]\xc3\x97-uL\x12\xc2\xa4\xc2\x9am1\xc3\x92D\xc3\xaa/\xc3\x98\xc3\x8f\xc3\x95)\xc3\x97,\xc3\xbbw5\x16\n!p-\xc3\x90B\xc2\x93\xc2\xac#\x14\xc2\xaa\xc3\xb2\xc2\xb8-\xc2\xbf.3\xc3\x9b\xc3\xab\xc3\x8f<Gd\xc3\x894\xc2\xa9L\xc2\x98\\\x13\xc2\x9d28X\xc2\x90\x10\xc3\x8a\xc2\x8eI\xc3\xbd\xc2\x84\xc2\x92\xc2\xa8vD\xc2\xb3JDS!\xc2\xb2\xc3\xbf\xc3\x8e\xc3\xae\xc2\xa8\xc2\x90\xc2\x84\xc2\xb3J[d\x19R-QWn\xc2\xb02B\xc2\xa4)\xc3\xbe\x7f\xc2\xac;D\xc2\x97\n}\xc2\x9f\xc3\xad>\xc2\x89\xc3\x93=\xc2\xa9\xc2\x8c$\xc2\x89Q\xc2\xa5\xc2\xbf\xc2\x95t\xc2\x80\xc3\x83\xc3\xa1\xc3\xb0\xc3\x83\x02.\xc3\xb8D\x12\xc2\xae\x12\xc2\x94f\xc3\x87@\x00Z\x16f\xc2\xa8\xc2\xb5Y0\xc2\x9f\xc2\x96\xc3\x86\xc2\xad"\x11[qb\xc2\xac4K\x0e\xc3\x8a\x1dC4\xc3\x86\xc2\xbfN\xc2\xbfq\xc3\xac\xc2\xa8.-s\xc3\x93G\xc2\x9d\xc2\x8a\xc2\x9f\xc3\xbb\xc2\x86\xc2\xbd\xc2\x99^>2*\xc3\xa4\xc2\xba\xc2\xb4\x07\xc2\x88R&\xc2\x8e\xc3\xaf`\x0b\x1ewF>\xc3\x9c_\xc2\xa7\xc3\x8b+\xc3\x8a\xc2\x86\xc3\xacz<}\t\xc2\x9d\x01\x0bU\xc2\x98\xc2\x87\xc3\xae\xc2\xa0\x1d6\x16\xc3\xb9\xc2\xa5\xc2\xa2\xc3\xaeT\xc2\x85\xc3\xb9`O\xc3\xae\xc3\x87l\xc2\x98)6\x7f\xc2\x9c\xc3\x9ba\xc3\xa6\xc2\xb4\xc2\xaa\xc3\x95\xc2\xae\xc3\x9a4\xc3\xb8\x00y\xc3\xabeY\xc2\x9b\xc3\xa9\xc2\x99\xc3\x9c\xc2\xbaw\xc3\xa3\xc2\xab\xc3\xb0E\xc3\x93l>\xc2\xa6Y4\xc2\xbe\x15\xc3\xb3\x1eN\x16\x17\xc3\xb5\xc2\xbe\xc3\xbf\xc3\xa8D=1\xc2\x8c\xc3\xb8\xc3\x90\x11\xc2\x8b\xc3\x99\xc3\x96\xc3\x8b\xc2\x9f\xc3\xb2n\xc2\x9fN\xc3\xacfm\xc2\xb4f\xc3\x9d\xc3\xa2Ye\xc3\x8e\xc2\x9a8q\xc3\xbd\xc2\x8a7\xc3\x84\xc2\xb5?\xc3\x9d\xc3\x84x6\xc2\x9b\xc2\x8c\xc3\xa6\xc3\x85\xc2\xa2\xc3\x8b\xc2\x9e\xc2\x87\xc2\x8e\xc3\x9f\xc2\xbc|\xc2\xbe\xc3\x9cm\xc3\xa2\xc2\x8b\x19\xc3\xa6\xc3\x89\xc3\x9dK\xc2\xba\xc2\xb8q\xc3\x89no7\xc3\x9c:\xc2\xb9\x1fz\xc3\xb3\xc2\xb0\xc3\x95\xc3\x8c\xc3\xa5\xc3\x8bx\xc3\xa0\xc3\x9d\xc3\xaf\x1f\xc2\x84\xc2\x9d.\xc3\xb4]\xc2\x83\\r{\xc2\x92\xc3\x9e\xc2\xa5\xc2\xb7E3\xc3\x9f\xc2\xad\xc2\x99-\xc2\x9f\xc3\xa4\xc3\x9d\xc3\xad0\xc3\xac\xc3\x91\xc2\x87h\xc2\xaa\xc3\xb7\xc2\xad\r\x1fv\xc3\xb0<z\xc2\x9c\xc3\x87\xc3\xb5eQ\xc3\x9c\xc2\x9d\xc3\xb7Z[}\xc3\xa3\xc3\xb7{\xc3\x85m[\xc3\x8d\xc3\x86\xc3\x91P=\xc2\xac\x1a\xc3\xad\xc3\xb9\xc3\x96\xc2\xaf\xc3\xa9\xc3\xb3\xc2\xa6\xc3\x9e\xc3\x98\xc2\xbb\ro\xc2\xb5\xc2\x9ennpy6~(\n\xc3\xa6\xc2\xb5\xc3\xa3Q=Zgu\xc3\xa7eR\xc3\x90\xc2\x93\xc3\xb3\xc3\xbe6;y\xc2\xb8\xc3\xa9\xc3\x8d/6+\xc2\xb7\xc2\xa3\xc3\xa3\xc3\x9cn?/\xc3\xbd\xc3\xa1<\xc2\xbd\xc3\x9c\xc2\xb3\xc3\xb9=\xc2\xbd~\xc3\xacy\xc3\xaet\x1aw\xc3\xaad?+\xc2\xa6\xc2\x99\xc2\x87\xc3\xb6D$\xc2\xb55\xc2\x9d5\xc2\x8a\xc2\xae\xc3\xae.g\xc2\xb5\xc3\x89\xc3\xb4\xc2\xac\xc3\xaf\xc2\x9f\x0c\xc3\x8f\xc3\xb5|~>Y\xc3\x81\xc3\xa1\xc3\xb0O\x00\x00\x00\xc3\xbf\xc3\xbfPK\x07\x08\xc3\x83\xc3\xbc\xc3\x8b!\xc3\xaf\x03\x00\x00\t\x07\x00\x00PK\x01\x02\x14\x00\x14\x00\x08\x00\x08\x00\x00\x00\x00\x00\xc3\x83\xc3\xbc\xc3\x8b!\xc3\xaf\x03\x00\x00\t\x07\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00certificate.jsonPK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x00>\x00\x00\x00-\x04\x00\x00\x00\x00'

@MayankFawkes
Copy link
Author

MayankFawkes commented Nov 18, 2021

i would be lucky if you can tell me what wrong i am doing, for me nor first or second is unzipable.
here is how i am installing
image

from pyzbar.pyzbar import decode
from PIL import Image
import io
import zipfile, zlib
import base64

image = Image.open('qr.png')
data = decode(image, binary=True)
binary = data[0].data
d = zipfile.ZipFile(io.BytesIO(binary))
print(d.namelist())

Error

zipfile.BadZipFile: Bad magic number for central directory
[Finished in 281ms with exit code 1]

my binary data for your First (works)

b'PK\x03\x04\x14\x00\x08\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00certificate.json\xc2\x8cT\xc3\x9br\xc3\xaa8\x10\xc3\xbc\x15j\x1e\xc2\xb7\x1c\xc3\xa2\x0b`\xc3\xb0\xc3\x8bn\x02Ip\xc3\x825\x06\x12\xc3\x98:\xc2\x95\x12\xc3\xb2\x18+\xc2\xb1%\xc2\x90d\x08I\xc3\xb1\xc3\xaf[29\xc2\xb9l\xc2\x9d\xc3\xac\x1e\xc3\x9e\xc2\xa4\xc3\xa9i\r\xc3\x9d\xc3\xady\xc2\x85\xc2\xbf\xc2\xa8\xc3\xa0\x1a\xc2\x9f5\x04\x7fC\xc2\xaa\xc3\xb5Z\x05\xc2\xa7\xc2\xa7\xc2\xbb\xc3\x9d\xc2\xae\xc2\xba\xc3\xb3\xc2\xaaB\xc2\xaeN]\xc3\x9bi\xc2\x9eR\xc2\x891r\xc3\x8dH\xc2\xa6N\xc2\xb7\x0eX\xc3\xaf@*v\xc2\x8cWWb[e\xc3\xbc+\xc2\x8aP\xc3\x8a8\xc3\x91Lp\xc3\x93\xc3\xb1\xc3\x83\x02\xc2\xbd_\xc2\xa3yc\xc2\x86\xc2\x92%\xc2\x8c,3l\xc2\xbf\xc3\xa3\xc3\x81\xc2\x82\xc2\x91\x14"\x19&\xc2\xb3\xc2\x8f\xc2\xbeO\xc3\xa5\x1f\x16|\xc2\x90G\xc3\x85\xc3\xb2\x11\xc2\xa9\xc2\x86\xc3\xa0\xc3\xb5\xc2\x8d\x13F(\xc2\x95\xc3\xa0`\x01\xc2\x8b!\xc2\x80\xc2\x98\xc3\x85\xc3\x81\x19\xc2\x89SBd\xc2\xa5Md\x1c\xc3\xbc\xc3\xb1\xc3\xb6\xc3\xb3\xc2\x9bu\x0f,\xc2\x90\xc2\x98\xc2\x84\x06\xc3\xa7\xc3\x9a^\xc3\x9dnx\xc2\x8e\xc3\xad\xc3\xb9\r\xc2\xbb\x01\x16p\xc2\x92\x1b\xc2\xb6\x01bF\xc3\xb2\xc3\x8aU\xc2\xb1\xc3\x96\x04,(\xc3\x92\xc2\x92\x15,X!\xc2\x8fQB\x00\xc2\x97\xc2\x98\xc2\x93\x0c\xc3\x81\x02\xc2\xb22\r5\xc2\xbfl63\xc2\x93\xc2\x8c\xc3\xa9=\x04\x10\xc3\xb2\xc2\x98\x113\x11\xc2\x89c\xc2\x89J\xc2\x99a\xc2\x95\xc2\x96\xc2\x88\xc3\xba\xc3\xac\xc3\xa7\xc2\x85a\xc3\xbcr\xc3\xa5\x1e\xc3\xafb\xc2\xa6\xc2\xb4d\xc3\xa6\xc3\xbf\xc2\x99\x13=\xc3\xb2}0\xc3\x9d\xc3\xa2\xc2\x8a\t\xc3\xbe\xc3\xa5\xc2\xaa-\n\xc2\xaee\xc3\xb9\xc3\xac\x00,X\x0b\xc2\xa5I\xc3\x96\x161BP\xc3\xb3\xc3\xab\xc2\x8d\xc2\x86s8X\xc3\x80\xc2\x94*\xc3\x8a\xc3\xa1\x7fi\x1d\x1c\x01\xc2\x84S\xc3\xac\x10\xc2\x8d\xc2\xa5:\xc2\xaesb\xc3\xbb\'\xc2\xb63\xc2\xb1[\xc2\x81c\x075\xc2\xaf\xc3\xaa\xc3\x94[\x0b\xc2\xb0\x00\xc2\xb7,FN\xc2\x8d\xc2\x9b\xc2\xafG\xc3\x89\x7f\xc3\x89y\xc2\x8c\x00\xc2\x9e\xc3\xbav\xc3\x9dn\xc3\xb9\xc2\x9e\xc3\xa79&9\tb\xc2\xbc$\xc3\xb4i*\xc2\xb3\xc3\xaf\x1a\xc3\xbf\xc3\xbc\xc3\x9a\xc3\x81x"~\x1fMQj\xc2\x960J4\xc2\x96.\x7f\xc2\xad\xc2\xbe\xc2\x87\xc3\xb0#f&\\K\xc2\xa2ij\xc2\x9ct\\g\xc3\xa18&%o\xc3\x93C\x00\xc3\xad\xc3\xa1,\xc2\x8c\xc2\xba\xc3\xa1E\xc2\xaf\x03\x16\xc3\xa4\xc2\x84\x17\t\xc2\xa1\xc2\xba\xc2\x90\xc2\xa5\xc2\x98\x11\xc3\x8a"\xc2\xaf\xc2\x84\\i\xc2\xa6\x0b\xc2\x8d\x15\xc2\x91TJ\xc3\xab\xc2\x8d\xc2\x8f\xc3\x9f\xc3\xa9\xc3\xa8V]\xc3\x97-uL\x12\xc2\xa4\xc2\x9am1\xc3\x92D\xc3\xaa/\xc3\x98\xc3\x8f\xc3\x95)\xc3\x97,\xc3\xbbw5\x16\n!p-\xc3\x90B\xc2\x93\xc2\xac#\x14\xc2\xaa\xc3\xb2\xc2\xb8-\xc2\xbf.3\xc3\x9b\xc3\xab\xc3\x8f<Gd\xc3\x894\xc2\xa9L\xc2\x98\\\x13\xc2\x9d28X\xc2\x90\x10\xc3\x8a\xc2\x8eI\xc3\xbd\xc2\x84\xc2\x92\xc2\xa8vD\xc2\xb3JDS!\xc2\xb2\xc3\xbf\xc3\x8e\xc3\xae\xc2\xa8\xc2\x90\xc2\x84\xc2\xb3J[d\x19R-QWn\xc2\xb02B\xc2\xa4)\xc3\xbe\x7f\xc2\xac;D\xc2\x97\n}\xc2\x9f\xc3\xad>\xc2\x89\xc3\x93=\xc2\xa9\xc2\x8c$\xc2\x89Q\xc2\xa5\xc2\xbf\xc2\x95t\xc2\x80\xc3\x83\xc3\xa1\xc3\xb0\xc3\x83\x02.\xc3\xb8D\x12\xc2\xae\x12\xc2\x94f\xc3\x87@\x00Z\x16f\xc2\xa8\xc2\xb5Y0\xc2\x9f\xc2\x96\xc3\x86\xc2\xad"\x11[qb\xc2\xac4K\x0e\xc3\x8a\x1dC4\xc3\x86\xc2\xbfN\xc2\xbfq\xc3\xac\xc2\xa8.-s\xc3\x93G\xc2\x9d\xc2\x8a\xc2\x9f\xc3\xbb\xc2\x86\xc2\xbd\xc2\x99^>2*\xc3\xa4\xc2\xba\xc2\xb4\x07\xc2\x88R&\xc2\x8e\xc3\xaf`\x0b\x1ewF>\xc3\x9c_\xc2\xa7\xc3\x8b+\xc3\x8a\xc2\x86\xc3\xacz<}\t\xc2\x9d\x01\x0bU\xc2\x98\xc2\x87\xc3\xae\xc2\xa0\x1d6\x16\xc3\xb9\xc2\xa5\xc2\xa2\xc3\xaeT\xc2\x85\xc3\xb9`O\xc3\xae\xc3\x87l\xc2\x98)6\x7f\xc2\x9c\xc3\x9ba\xc3\xa6\xc2\xb4\xc2\xaa\xc3\x95\xc2\xae\xc3\x9a4\xc3\xb8\x00y\xc3\xabeY\xc2\x9b\xc3\xa9\xc2\x99\xc3\x9c\xc2\xbaw\xc3\xa3\xc2\xab\xc3\xb0E\xc3\x93l>\xc2\xa6Y4\xc2\xbe\x15\xc3\xb3\x1eN\x16\x17\xc3\xb5\xc2\xbe\xc3\xbf\xc3\xa8D=1\xc2\x8c\xc3\xb8\xc3\x90\x11\xc2\x8b\xc3\x99\xc3\x96\xc3\x8b\xc2\x9f\xc3\xb2n\xc2\x9fN\xc3\xacfm\xc2\xb4f\xc3\x9d\xc3\xa2Ye\xc3\x8e\xc2\x9a8q\xc3\xbd\xc2\x8a7\xc3\x84\xc2\xb5?\xc3\x9d\xc3\x84x6\xc2\x9b\xc2\x8c\xc3\xa6\xc3\x85\xc2\xa2\xc3\x8b\xc2\x9e\xc2\x87\xc2\x8e\xc3\x9f\xc2\xbc|\xc2\xbe\xc3\x9cm\xc3\xa2\xc2\x8b\x19\xc3\xa6\xc3\x89\xc3\x9dK\xc2\xba\xc2\xb8q\xc3\x89no7\xc3\x9c:\xc2\xb9\x1fz\xc3\xb3\xc2\xb0\xc3\x95\xc3\x8c\xc3\xa5\xc3\x8bx\xc3\xa0\xc3\x9d\xc3\xaf\x1f\xc2\x84\xc2\x9d.\xc3\xb4]\xc2\x83\\r{\xc2\x92\xc3\x9e\xc2\xa5\xc2\xb7E3\xc3\x9f\xc2\xad\xc2\x99-\xc2\x9f\xc3\xa4\xc3\x9d\xc3\xad0\xc3\xac\xc3\x91\xc2\x87h\xc2\xaa\xc3\xb7\xc2\xad\r\x1fv\xc3\xb0<z\xc2\x9c\xc3\x87\xc3\xb5eQ\xc3\x9c\xc2\x9d\xc3\xb7Z[}\xc3\xa3\xc3\xb7{\xc3\x85m[\xc3\x8d\xc3\x86\xc3\x91P=\xc2\xac\x1a\xc3\xad\xc3\xb9\xc3\x96\xc2\xaf\xc3\xa9\xc3\xb3\xc2\xa6\xc3\x9e\xc3\x98\xc2\xbb\ro\xc2\xb5\xc2\x9ennpy6~(\n\xc3\xa6\xc2\xb5\xc3\xa3Q=Zgu\xc3\xa7eR\xc3\x90\xc2\x93\xc3\xb3\xc3\xbe6;y\xc2\xb8\xc3\xa9\xc3\x8d/6+\xc2\xb7\xc2\xa3\xc3\xa3\xc3\x9cn?/\xc3\xbd\xc3\xa1<\xc2\xbd\xc3\x9c\xc2\xb3\xc3\xb9=\xc2\xbd~\xc3\xacy\xc3\xaet\x1aw\xc3\xaad?+\xc2\xa6\xc2\x99\xc2\x87\xc3\xb6D$\xc2\xb55\xc2\x9d5\xc2\x8a\xc2\xae\xc3\xae.g\xc2\xb5\xc3\x89\xc3\xb4\xc2\xac\xc3\xaf\xc2\x9f\x0c\xc3\x8f\xc3\xb5|~>Y\xc3\x81\xc3\xa1\xc3\xb0O\x00\x00\x00\xc3\xbf\xc3\xbfPK\x07\x08\xc3\x83\xc3\xbc\xc3\x8b!\xc3\xaf\x03\x00\x00\t\x07\x00\x00PK\x01\x02\x14\x00\x14\x00\x08\x00\x08\x00\x00\x00\x00\x00\xc3\x83\xc3\xbc\xc3\x8b!\xc3\xaf\x03\x00\x00\t\x07\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00certificate.jsonPK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x00>\x00\x00\x00-\x04\x00\x00\x00\x00'

Which is different from you.

@nmccann
Copy link

nmccann commented Nov 18, 2021

Something I missed is that in addition to the fork, you need to have at least v0.23.1 of ZBar which adds support for binary QR codes (pyzbar just wraps ZBar). See the release notes for that version here: https://github.com/mchehab/zbar/releases/tag/0.23.1

There have been other versions released since then, but I don’t think they’re specifically needed for this.

@MayankFawkes
Copy link
Author

Yeah it worked after installing latest binary of zbar. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants