Я написал некоторый код, который выводит минимальное количество пикселей, необходимое для размещения QR-кода, соответствующего стандартам, с учетом кодируемых символов, требуемого поля и уровня EC. Однако я получаю пустые ответы от Google вместо действительных QR-кодов.
Наименьший возможный QR-код — это QR-код версии 1 размером 29x29 пикселей (21 закодированный модуль + 4 модуля с каждой стороны). пример
Согласно документации по QR-коду Google Charts, максимальное количество 0- 9 цифр, которые вы можете иметь в QR-коде версии 1 на уровне ЕС H, равны 17. Однако указание параметров как таковых приводит к пустому изображению; независимо от того, что установлено для параметра choe
; потому что кодируется больше данных, чем может поместиться.
Уменьшение количества символов до 14 приводит к действительный QR-код.
Итак, кто-нибудь знает, сколько данных может быть закодировано API Google Charts для каждой данной версии и уровня EC? Это зависит от символьного байта? Мой код написан на Java, но, если потребуется, решения на любом языке программирования будет достаточно.
Надеюсь, я сделал что-то не так, или есть какая-то логика, которой можно следовать, вместо того, чтобы быть «достаточно хорошей» реализацией QR-кодов.