Наклейка поверх кода, логотип по центру, царапина на упаковке — а коррекция ошибок QR-кода всё равно позволяет его отсканировать. Это не магия, а математика: разбираемся, как работают уровни L, M, Q и H и какой выбрать под вашу задачу.
Рид-Соломон в двух словах
При генерации код делит данные на блоки и для каждого вычисляет дополнительные байты по алгоритму Рида-Соломона. Сканер, считав код, проверяет контрольные суммы: если часть модулей потеряна, недостающие значения восстанавливаются из избыточных — примерно как уравнение, где часть переменных уже известна. Чем больше избыточных байтов, тем серьёзнее повреждения переживает код, но и тем плотнее становится матрица. Процент в скобках у каждого уровня — это и есть доля площади, которую код может потерять без последствий.
Четыре уровня защиты
- L (7%) — минимальная защита, самый компактный и «рыхлый» код. Годится для экранов и чистой печати без оформления.
- M (15%) — разумный выбор по умолчанию: выдерживает лёгкие загрязнения и небольшие огрехи печати.
- Q (25%) — рекомендуется, когда в центр кода помещают логотип или печать идёт на фактурных материалах вроде ткани и дерева.
- H (30%) — максимум: код сканируется, даже если закрыта почти треть площади. Незаменим для сложного дизайна и ChromaCode.
Почему логотип не мешает сканированию
Логотип в центре — это, по сути, намеренное «повреждение» кода. Пока закрытая площадь не превышает запас прочности выбранного уровня, Рид-Соломон восстанавливает данные без потерь. Именно поэтому дизайнерские коды делают на уровнях Q или H, а не на экономном L. Практические приёмы оформления — контраст, размер лого, фирменные цвета — разобраны в гайде по брендированным QR-кодам.
Как выбрать уровень на практике
Простое правило: чем агрессивнее среда и дизайн, тем выше уровень. Ссылка на экране презентации — L или M. Код на упаковке, которую мнут и царапают, — M или Q. Код с логотипом, на уличной наклейке или на футболке — Q или H. Учтите и обратную сторону: высокая коррекция увеличивает число модулей, значит, при той же физической площади каждая точка становится мельче, а это критично для мелкой печати. Держите баланс между защитой и размером. При сомнениях берите M — золотую середину для большинства повседневных задач. В QR StarCode уровень переключается одним нажатием — и вы сразу видите, как меняется плотность кода.