Skip to content

Minimal fix for issue #961 #967

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

Merged
merged 1 commit into from
Jun 13, 2025
Merged

Conversation

HoratiuMarginean
Copy link
Contributor

From my understanding, ECI mode is useful for charactersets other than ISO8859_1.

Given this, I updated the method to work even if this characterset was set manually.

(I have never opened a pull request before, so I apologize for any possible mistakes)

@oehhar
Copy link

oehhar commented Jun 13, 2025

Hi Horatiu,
bar code symbologies have a default encoding.
Older ones (Data Matrix, QR Code) use ISO/IEC 8859-1 (it is a bit more complicated, as 8859-1 does not define control characters in the range 80-8F).
Newer ones use UTF-8.

Character sets may be changed by ECI, but that is not the only usage of ECIs.

ECI mode simulates the output of a standard scanner:

  • no ECI present: Symbology ID flags that, for example ]d1 for Data Matrix
  • any ECI present: ECI protocol applies:
    • the symbnology ID flags ECI mode (]d4 for Data Matrix)
    • any present ECI is represented by "\dddddd", where dddddd is the 6 digit ECI number.
    • any data "" is replaced by "\".

I hope this helps, typed to much, soory,
Harald

@HoratiuMarginean
Copy link
Contributor Author

Hi Horatiu, bar code symbologies have a default encoding. Older ones (Data Matrix, QR Code) use ISO/IEC 8859-1 (it is a bit more complicated, as 8859-1 does not define control characters in the range 80-8F). Newer ones use UTF-8.

Character sets may be changed by ECI, but that is not the only usage of ECIs.

ECI mode simulates the output of a standard scanner:

  • no ECI present: Symbology ID flags that, for example ]d1 for Data Matrix

  • any ECI present: ECI protocol applies:

    • the symbnology ID flags ECI mode (]d4 for Data Matrix)
    • any present ECI is represented by "\dddddd", where dddddd is the 6 digit ECI number.
    • any data "" is replaced by "".

I hope this helps, typed to much, soory, Harald

Hello oehhar,

I apologize for not specifying, but I was referring strictly to QR Codes in this case.

Thank you for the clarification however.

@axxel axxel merged commit ea6e337 into zxing-cpp:master Jun 13, 2025
17 of 18 checks passed
@axxel
Copy link
Collaborator

axxel commented Jun 13, 2025

Nicely debugged and thanks for your (first ever) PR! :)

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.

3 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy