Я пытался понять, как работают QR-коды и как их генерировать. Поскольку у меня приличный опыт работы с Python, я решил написать его там. Я выполнил все необходимые шаги, такие как:
- кодирование BCH для битов формата
- коррекция ошибок Рида-Соломона
- таблицы журнала/антилогарифма GF(256)
- полиномиальное деление для остатка EC
- функции маскировки (0–7)
- размещение статических шаблонов (поиск, синхронизация, выравнивание, информация о формате
Я убедился, что данные и биты EC не перезаписывают зарезервированные области. Я протестировал несколько размеров версий, уровней EC и идентификаторов масок. Но что бы я ни пытался, QR-код не сканируется — ни на iPhone, ни в ZXing, ни в любом онлайн-декодере. Я убедился, что:
- Окончательный битовый поток имеет правильную длину.
- Нет дубликатов и отсутствий. координаты
- Биты полосы формата размещены и дублируются правильно.
Может ли кто-нибудь помочь мне понять, чего мне не хватает — это логика размещения, маскирование, биты формата или что-то еще?
Это мой репозиторий GitHub с кодом:
https://github.com/pawlexcode95/QR-Code ... /tree/main
Подробнее здесь:
https://stackoverflow.com/questions/798 ... t-scanning