QR-код виглядає як хаотичний набір чорних і білих квадратиків, але насправді це строго структурована сітка, у якій кожен піксель кодує біт інформації за наперед визначеними правилами.
Три квадрати у кутах — орієнтація коду
Три великі квадрати у трьох з чотирьох кутів QR-коду — це маркери позиціювання. Вони дозволяють сканеру миттєво визначити орієнтацію коду в кадрі, навіть якщо зображення повернуте чи сфотографоване під кутом.
Рівні корекції помилок
QR-код підтримує чотири рівні корекції помилок (L, M, Q, H), що визначають, який відсоток даних коду може бути пошкоджений і при цьому все ще успішно зчитаний. Найвищий рівень H дозволяє відновити до 30% пошкоджених даних — саме тому в центр коду можна безпечно вставити логотип, перекривши частину малюнка.
Як дані кодуються у пікселях
В основі лежить код Ріда-Соломона — та сама техніка корекції помилок, що використовується на CD та в супутниковому зв'язку. Дані розбиваються на блоки з надлишковою інформацією, тому втрата частини блоків не заважає повністю відновити початкове повідомлення.
Навіщо це потрібно
- Швидко згенерувати QR-код для посилання, Wi-Fi-мережі чи візитної картки.
- Обрати достатній рівень корекції помилок, якщо код друкується малим розміром або з логотипом.
- Зрозуміти, чому частково пошкоджений чи забруднений QR-код все одно сканується.
Типи кодування даних: числовий, буквено-цифровий, байтовий
QR-код підтримує кілька режимів кодування, і від обраного режиму залежить, скільки символів вміститься в код одного розміру (версії). Числовий режим кодує лише цифри 0–9 і є найкомпактнішим; буквено-цифровий додає великі латинські літери й кілька символів; байтовий режим кодує довільні дані, зокрема кирилицю в UTF-8, але займає найбільше місця на символ. Саме тому URL з довгим кириличним текстом створює значно щільніший QR-код, ніж такої ж довжини рядок лише з цифр.