Zxing web декодирует код Azte c с заполнением base64, но баночки 3.4.0 не дают штрих-кода - PullRequest
0 голосов
/ 29 апреля 2020

Запуск последней версии java приводит к появлению на изображении "штрих-кода не найдено".

java -cp core-3.4.0.jar: javase-3.4.0.jar: jcommander-1.72 .jar: jai-imageio-core-1.4.0.jar com.google.zxing.client.j2se.CommandLineRunner --try_harder ./IMG.jpg file: ///home/tom/Projects/mTicketing/zxing_java/./ IMG.jpg: Нет штрих-код найден

1004 * Тем не менее, с помощью веб-сайта https://zxing.org/w/decode и тот же образ производит:. 1009 * eyJ2ZXJzaW9uIjoidGZpLjEiLCJhbGciOiJSUzI1NiIsImFjdCI6IjIwMjAtMDQtMjhUMDc6NTc6NDYrMDE6MDAifQ == eyJkdXIiOiJQVDkwTSIsIm9wIjoiQnVzIEVpcmVhbm4iLCJwciI6IlNpbmdsZSBKb3VybmV5IFRpY2tldCBBZHVsdCIsImZyb20iOiJDbGFyZWNhc3RsZSIsInRvIjoiU2hhbm5vbiBJbmR1c3RyaWFsIEVzdC4iLCJybiI6IjExMjE5IiwiYW4iOiJUb20gQnlybmUiLCJ1dG4iOiI2OTE2NDQzOC02M2RkLTRhY2YtOGZlNS01MjUyMjZmYjhmOTcifQ.Aw_3tELIvR6EqatwR-QxwXC5V1F7Cznr0FfZkl8O8SIYzwcOyJ_coCqBs_2UKMghv0WVNAXikHmavMqLLEaug2H41ElFs48lBz8yEgsCsrbeau2AWDd14KixsfITx3rps9HqMf- aPxb5B3Dw6vYFh2Gnokb1Dhbqfhb1a5j5UJI

Однако, если заполнение base64 удаляется из заголовка в токене JWT ('==') и генерируется QR-код, штрих-код успешно декодируется как сайтом, так и кодом java.

Я знаю, что следует использовать Base64Url, но почему изображение успешно декодируется сайтом zxing, а не последними файлами jar?

И почему заполнение создает изображение, которое трудно декодировать?

1 Ответ

0 голосов
/ 05 мая 2020

Итак, после некоторого дополнительного исследования, я почти уверен, что проблема, которую я заметил, была связана с длиной закодированных данных и разрешением устройства, отображающего код Azte c, и не имеет никакого отношения к заполнению.

С увеличением размера кодированных данных увеличивается визуальная сложность QR-кода Azte c. Я обнаружил, что если я использовал устройство с более низким разрешением или намеренно устанавливал разрешение экрана на низком уровне, более сложные коды не были надежно декодированы.

Были некоторые различия между сайтом ZXING и кодом java но я подозреваю, что на сайте может быть предварительно настроен набор подсказок для декодирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...