Почему QR-код читается, даже если он помят или заляпан
Квадратик из чёрных и белых клеток хранит данные вместе с запасом на случай повреждений. Разбираем, как он устроен.

QR-код придумали как улучшенный штрихкод. Обычная полосатая метка читается только по горизонтали и вмещает немного информации. Квадратная матрица использует обе оси, поэтому в ней помещаются ссылка, текст и другие данные, а считывать её можно под любым углом.
Размер кода растёт вместе с объёмом данных: короткая ссылка помещается в небольшую сетку, длинный текст требует мелкой и густой. Поэтому для печати на визитках и афишах лучше использовать короткие адреса.
Три квадрата в углах
Три крупных квадрата с рамкой в углах — не украшение. По ним камера определяет, что перед ней QR-код, находит границы, понимает, как он повёрнут, и выпрямляет изображение. Четвёртого квадрата нет намеренно: так по расположению углов программа отличает верх от низа даже у перевёрнутого кода. Между квадратами проходят строки чередующихся точек, по которым определяют размер клеток.
Запас на случай повреждений
Данные кодируются вместе с избыточными блоками, созданными по математическому методу исправления ошибок. Когда часть клеток закрыта пятном, потёртостью или логотипом в центре, программа восстанавливает недостающее по оставшимся блокам. Именно запас позволяет делать коды с картинкой посередине: часть данных закрыта, но оставшихся хватает для восстановления.
Чем выше выбран уровень защиты, тем большую часть кода можно закрыть, но тем больше места уходит на защиту и тем крупнее придётся делать код для того же объёма данных.
Что полезно знать
- Для печати нужны светлые поля вокруг кода: без них сканер не поймёт, где он начинается.
- Контраст важнее цвета: тёмный рисунок на светлом фоне читается лучше любого сочетания оттенков.
- Перед тем как открывать ссылку из незнакомого кода, посмотрите адрес, который показывает камера.
- QR-код только записывает адрес и не гарантирует, что за ним безопасный сайт.



