ISO/IEC 18004
Международный стандарт, описывающий структуру, способ кодирования и декодирования QR-кодов модели 2 — общепринятая основа всех совместимых сканеров и генераторов.
ISO/IEC 18004:2015 — действующая редакция международного стандарта, регламентирующего QR-код модели 2 (QR Code Model 2). Документ издан Международной организацией по стандартизации совместно с МЭК и полностью определяет физическую структуру символа, режимы кодирования данных, алгоритм коррекции ошибок Рида — Соломона, способ размещения модулей в матрице и процедуру декодирования. Любой совместимый сканер или генератор обязан соответствовать этой спецификации.
Версии и ёмкость
Стандарт описывает 40 версий кода (от 21×21 до 177×177 модулей). Каждая следующая версия добавляет 4 модуля к стороне квадрата. Максимальная ёмкость для версии 40 при уровне коррекции L составляет 7089 цифр, 4296 буквенно-цифровых символов (цифры, заглавные латинские буквы и 9 спецсимволов) или 2953 байта произвольных двоичных данных. В режиме кандзи (японские иероглифы) — до 1817 символов.
- Числовой режим (Numeric) — кодирует только цифры; наиболее компактный (10 бит на 3 цифры).
- Буквенно-цифровой режим (Alphanumeric) — цифры, A–Z, пробел и 8 символов ($,%,*,+,-,.,/,:); 11 бит на 2 символа.
- Байтовый режим (Byte) — произвольный бинарный контент, обычно UTF-8; 8 бит на символ.
- Режим кандзи (Kanji) — двухбайтные символы Shift-JIS; 13 бит на символ.
Уровни коррекции ошибок
Стандарт определяет четыре уровня устойчивости к повреждениям: L (Low) — восстанавливает до 7 % данных, даёт максимальную ёмкость; M (Medium) — 15 %, баланс размера и надёжности, рекомендован по умолчанию; Q (Quartile) — 25 %, подходит для промышленных сред; H (High) — 30 %, используется при частичном перекрытии кода логотипом. Именно уровень H позволяет размещать изображения в центре QR-кода без нарушения считываемости — практика, формально допустимая, поскольку алгоритм Рида — Соломона восстановит повреждённые модули. Подробнее об этом читайте в статье QR-код с логотипом: дизайн и сканирование.
Служебные элементы матрицы — три угловых позиционных маркера, маркеры выравнивания (alignment patterns, начиная с версии 2), тихая зона шириной 4 модуля по периметру, строки синхронизации (timing patterns) и маска формата — занимают фиксированную область и не несут полезных данных. Генераторы QR-кодов, в том числе используемые на платформе QRcode.website, строго соблюдают эти требования стандарта, что гарантирует совместимость со всеми сертифицированными сканерами. Создайте свой QR-код прямо сейчас — бесплатно и без регистрации.
Частые вопросы
Чем ISO/IEC 18004:2015 отличается от предыдущей редакции 2006 года?
Редакция 2015 года уточнила ряд технических требований к маскирующим паттернам и процедуре декодирования, добавила разъяснения по обработке структурированного добавления (Structured Append) и улучшила формулировки для режима кандзи. На практике коды, сгенерированные по версии 2006, читаются любым совместимым сканером версии 2015 и наоборот — обратная совместимость полная.
Обязателен ли стандарт для производителей QR-сканеров?
Формально ISO/IEC 18004 — добровольный международный стандарт. Однако производители сканеров и генераторов придерживаются его де-факто, поскольку только соответствие спецификации обеспечивает совместимость между устройствами разных брендов. Национальные регуляторы в ряде отраслей (логистика, медицина, ретейл) могут прямо ссылаться на стандарт в своих нормативных актах.
Можно ли создать QR-код, не соответствующий ISO/IEC 18004, и будет ли он сканироваться?
Теоретически — нет: любое отклонение от структуры матрицы, маскирующих паттернов или формата блоков коррекции приведёт к тому, что сертифицированный сканер откажется декодировать символ. Некоторые проприетарные считыватели допускают мягкое декодирование с исправлением ошибок формата, но полагаться на это в продакшне не рекомендуется.