Skip to content

Conversation

@KlaasJelmer
Copy link

When the ZBar decoder encounters binary data, it guesses the data encoding while converting it to text. This behavior destroys other types of data.

Version 0.23.1 of the ZBar library supports decoding binary QR codes using configuration option ZBAR_CFG_BINARY. This PR allows settings this flag from the decode() function

@coveralls
Copy link

Coverage Status

Coverage decreased (-0.2%) to 97.877% when pulling 2b12b68 on KlaasJelmer:master into 833b375 on NaturalHistoryMuseum:master.

outofmemo pushed a commit to outofmemo/pyzbar that referenced this pull request Apr 18, 2021
libzbar support raw binary data since 0.23.1. See more: mchehab/zbar@59e0ed1

Refer to KlaasJelmer's modification to add configuration option ZBAR_CFG_BINARY to pyzbar. See more: NaturalHistoryMuseum#82
And modify the conversion method of symbol data to support binary data.
@nmccann nmccann mentioned this pull request Nov 17, 2021
@maglub
Copy link

maglub commented Apr 17, 2024

Is there a good way to get attention to this pull request?

This would be quite a nice and useful workaround for issues in Europe, where the base library zbar mis-interprets the encoding:

My workaround for now is the following, which could be avoided if one could just get the binary representation of the QR codes:

  try:
    logging.info("  - Trying the ugly workaround to re-encode utf-8 to big5, then back to utf-8")
    logging.info(res[0].data.decode('utf-8').encode('big5'))
    return res[0].data.decode('utf-8').encode('big5').decode('utf-8')
  except:
    logging.info("  - Re-encoding failed, so the qrcode is probably ok already in utf-8")
    logging.info(res[0].data.decode('utf-8'))
    return res[0].data.decode('utf-8')

@pauuser
Copy link

pauuser commented May 9, 2024

Getting the same issue. Hope this pull request gets more attention as soon as possible!

@DogFortune
Copy link

I have the same problem and am having trouble. I strongly hope that this PR will get some attention.

@douzebis
Copy link

douzebis commented May 8, 2025

Please could we get this PR merged into the master?
Or maybe an explanation what this is not possible at the moment?
Thank you!

@arpruss
Copy link

arpruss commented Jan 14, 2026

Even with this PR, binary support is incomplete: null bytes are treated as string terminators.

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

Successfully merging this pull request may close these issues.

9 participants