QR-код (англ. quick response — быстрый отклик) — матричный код (двумерный штрихкод), разработанный и представленный японской компанией «Denso-Wave» в 1994 году.
Описание
Огромная популярность штрихкодов в Японии привела к тому, что объём информации, зашифрованной в нём, вскоре перестал устраивать индустрию. Японцы начали экспериментировать с новыми способами кодирования небольших объёмов информации в графической картинке.
В отличие от старого штрихкода, который сканируют тонким лучом, QR-код определяется сенсором как двумерное изображение. Три квадрата в углах изображения и меньшие синхронизирующие квадратики по всему коду позволяют нормализовать размер изображения и его ориентацию, а также угол, под которым сенсор относится к поверхности изображения. Точки переводятся в двоичные числа с проверкой по контрольной сумме.
Основное достоинство QR-кода — это лёгкое распознавание сканирующим оборудованием (в том числе и фотокамерой мобильного телефона), что дает возможность использования в торговле, производстве, логистике.
Максимальное количество символов, которые помещаются в один QR-код:
- цифры — 7089;
- цифры и буквы (латиница) — 4296;
- двоичный код — 2953 байт (следовательно, около 2953 букв кириллицы в кодировке windows-1251 или около 1450 букв кириллицы в utf-8);
- иероглифы — 1817.
Хотя термин «QR code» является зарегистрированным товарным знаком «DENSO Corporation», использование кодов не облагается никакими лицензионными отчислениями, а сами они описаны и опубликованы в качестве стандартов ISO.
Также некоторые программы могут распознавать GIF, JPG, PNG или MID файлы меньше 4 КБ и зашифрованный текст, но эти форматы не получили популярности.
Применение
QR-коды больше всего распространены в Японии. Уже в начале 2000 года QR-коды получили столь широкое распространение в Японии, что их можно было встретить на большом количестве плакатов, упаковок и товаров, там подобные коды наносятся практически на все товары, продающиеся в магазинах, их размещают в рекламных буклетах и справочниках. С помощью QR-кода даже организовывают различные конкурсы и ролевые игры.
Ведущие японские операторы мобильной связи совместно выпускают под своим брендом мобильные телефоны со встроенной поддержкой распознавания QR-кода.
В настоящее время QR-код также широко распространён в странах Азии, постепенно развивается в Европе и Северной Америке. Наибольшее признание он получил среди пользователей мобильной связи — установив программу-распознаватель, абонент может моментально заносить в свой телефон текстовую информацию, добавлять контакты в адресную книгу, переходить по web-ссылкам, отправлять SMS-сообщения и т. д.
Как показало исследование, проведенное компанией comScore в 2011 году, 20 млн жителей США использовали мобильные телефоны для сканирования QR-кодов.
В Японии и Австрии QR-коды также используются на кладбищах и содержат информацию об усопшем.
QR-коды активно используются музеями, а также и в туризме. Например, во Львове (Украина), объединение бизнесменов «Туристическое движение Львова» разместило QR-коды более чем на 80 туристических объектах. Это позволяет индивидуальному туристу легко ориентироваться в городе, даже не зная украинского языка, так как QR-коды установлены на нескольких языках.
Также в Белгороде (Россия), в конце 2013 года был реализован областной проект по оснащению памятников культуры города QR-кодами. Таким образом запуск информационного ресурса «QR Белгород» позволил сделать информацию об историческом и культурном наследии региона более доступной для гостей и жителей области.
Общая техническая информация
Самый маленький QR-код (версия 1) имеет размер 21х21 пиксель (без учёта полей), самый большой (версия 40) — 177х177 пикселей.
Существует четыре основных кодировки QR-кодов:
- Цифровая: 10 бит на три цифры, до 7089 цифр.
- Алфавитно-цифровая: поддерживаются 10 цифр, буквы от A до Z и несколько спецсимволов. 11 бит на два символа, до 4296 символов
- Байтовая: данные в любой подходящей кодировке (по умолчанию ISO 8859-1), до 2953 байт.
- Кандзи: 13 бит на иероглиф, до 1817 иероглифов.
Также существуют «псевдокодировки»: задание способа кодировки в данных, разбиение длинного сообщения на несколько кодов и т. д.
Для исправления ошибок применяется код Рида-Соломона с 8-битным кодовым словом. Есть четыре уровня избыточности: 7, 15, 25 и 30 %. Благодаря исправлению ошибок, удаётся нанести на QR-код рисунок и всё равно оставить его читаемым.
Чтобы в коде не было элементов, способных запутать сканер, область данных XOR’ится со специальной маской. Корректно работающий кодер должен перепробовать все варианты масок, посчитать штрафные очки для каждой по особым правилам и выбрать самую удачную.
Отдельно существует микроQR-код, ёмкостью до 35 цифр.