Читаем QR код. QR-код – двухмерный штрихкод, как прочитать и как создать

», хочу рассказать о технологии шифрования информации с помощью QR-кода. Уверен, Вы уже видели такой квадрат с тремя маленькими по углам и совсем мелкими квадратиками, которые, на первый взгляд, хаотично размещены внутри.

В десятилетие тотальной «смартфонизации» (термин даже придумал) крайне удобно получать информацию на экране , который всегда с Вами. А равно и подавать свои данные для различных целей. Давайте рассмотрим, где и как можно создавать QR-код, и какую именно информацию можно зашифровать.

QR-код

После того, как обычного штрих-кода стало недостаточно, японцы придумали QR-код. И если для сканирования первого требуется луч, то для QR-кода понадобиться сканер или обычная камера смартфона.

В двухмерное изображение закодирована небольшая информация. Это может быть любой текст, визитная карточка, ссылка на сайт, СМС. Не стану утомлять Вас техническими характеристиками, сколько бит и т.п. Просто предлагаю рассмотреть варианты использования.

Визитная карточка

На мой взгляд, самая удобная штука. В QR-коде зашифрована информация о Вас, предлагаемом продукте, компании…

В стандартном варианте визитка содержит в себе:

  • Телефон
  • E-mail
  • Организация
  • Должность
  • Веб-сайт

На платных сервисах есть возможность добавить ещё:

  • Цвет визитки
  • Цвет QR-кода
  • Изменить цвет отдельных деталей
  • Логотип
  • Личное фото
  • Кнопки социальных сетей

Где можно применять QR-код

Тогда представьте, как будет удобно клиенту с помощью смартфона отсканировать и прочитать всё о вас и вашем предложении в интернете!

Ведь, как правило, большинство людей лениться вбивать адрес сайта в браузер с визитки или буклета. К тому же это можно сделать сразу, не отходя от кассы, как говориться.

Куй железо пока горячо!

Считав через приложение, например, код визитки, клиент получает возможность:

  1. Позвонить владельцу
  2. Добавить в адресную книгу контакт
  3. Перейти на сайт (ссылка активная)
  4. Посмотреть расположение офиса на карте
  5. Написать письмо
  6. Отправить СМС

Как и где создать QR-код?

Для создания QR-кода потребуется веб-ресурс с таким сервисом, либо приложение для смартфона.

Вы можете самостоятельно найти сервисы и приложения через поиск, но осмелюсь порекомендовать следующие.

Самый простой, без регистрации и бесплатно — qrcoder.ru , создаёт стандартные коды

Более продвинутый сервис, ru.qr-code-generator.com , является платным, но и более функциональным.

Приложения для считывания QR-кода

Протестировав несколько популярных приложений для Android , остановился на QR Droid Privat

Понятный интерфейс, возможность не только считывать, но и создавать QR-коды. Меню на русском языке. Более того, оно может считывать обычный штрих-код товара.

Для iPhone в App Store есть приложение QR Reader for iPhone , простое в установке и использовании.

Вывод.

Используя современные технологии и гаджеты, стало намного проще доносить информацию, продвигать продукт, компанию, услугу. Смартфон, как мобильный девайс, на «отлично» справляется с этой задачей, а QR-коды упрощают её!

QR-коды являются удобным средством передачи небольших фрагментов информации. Из статьи ниже Вы узнаете как создавать QR-коды и считывать их.

Люблю всё новое... В своё время меня заинтересовали странного вида небольшие картинки с чёрными квадратиками внутри, которые то и дело мелькали в различных журналах и по телевизору. Оказалось, что такие маленькие изображения несут весьма большую пользу. Они являются разновидностью штрих-кодов, в которых можно зашифровать небольшие объёмы информации! А называется это чудо техники - QR-код...

С распространением смартфонов и планшетов считывание QR-кодов стало возможным на программном уровне без специальных сканеров. Достаточно установить специальное приложение и навести камеру Вашего устройства на код - расшифровка тут же отобразится на дисплее, а в некоторых случаях (например, если закодирован номер телефона) будут автоматически выполнены некоторые действия (например, набор номера).

QR-коды удобно использовать для передачи контактной информации, ссылок на веб-страницы или, например, географических координат. В общем, я не мог обойти вниманием эту весьма увлекательную тему, поэтому предлагаю Вашему вниманию обзор нескольких интересных сервисов для создания QR-кодов онлайн.

Немного теории

Прежде чем рассмотреть сервисы-генераторы, предлагаю Вам немного узнать о самих QR кодах, чтобы Вы не воспринимали их как нечто сверхъестественное:). Каждый код, по сути, представляет собой матрицу (двухмерный массив), содержащую последовательности блоков в горизонтальной и вертикальной плоскостях. Блоки имеют два состояния: "белое" (означает ноль) и "чёрное" (единица).

Получается, что по факту QR-коды - это обычный двоичный код в графическом представлении. Для того, чтобы правильно зашифровать, а затем интерпретировать QR-код, в нём содержатся заранее определённые области, которые позволяют получить инструкции по расшифровке и, собственно, сами данные. Рассмотрим для наглядности схему ниже:

Любой QR-код имеет в трёх своих углах большие квадраты-маркеры , которые позволяют сканерам и программам распознавания определить, что перед ними находится именно закодированные данные, а не простая картинка. Часто (но не всегда) в четвёртом углу имеется немного смещённый квадрат поменьше (если закодировано много текста, то таких квадратов будет несколько). Он тоже служит для более точного опознавания кода.

После того, как программа определила, что в объектив камеры попал QR-код, она начинает его анализировать, считывая служебную информацию. Первым делом определяется версия кодирования и проверяется наличие контрольных полос синхронизации , которые представляют собой всегда одинаковую последовательность единиц и нулей (через один) по горизонтали и вертикали между краями больших маркеров.

Далее начинается, собственно, расшифровка кода. Для этого вначале определяется код маски для системной информации и уровень коррекции ошибок . Данная информация для большей верности закодирована дважды: в первом горизонтальном ряду под левым верхним маркером (слева направо) и в первом вертикальном ряду справа от левого нижнего маркера (снизу вверх). Первые пять бит этих рядов указывают на уровень коррекции ошибок (первые два бита) и маску (следующие три), нужную для наложения на основную часть кода с целью определения информативных блоков. Остальные 10 бит служат для коррекции ошибок.

Последним подготовительным шагом перед расшифровкой является определение заголовка данных . Это позволяет понять, что же именно зашифровано в коде: простой текст, номер телефона или, например, ссылка на веб-сайт. Чтение заголовка начинается с правого нижнего угла и происходит по змейке снизу вверх. Далее в той же последовательности с применением определённой ранее маски расшифровывается и сама закодированная информация. Если Вам интересно, как прочесть QR-код вручную, рекомендую Вам отличную инструкцию на GeekTimes .

Ну а мы переходим к практике, то есть непосредственно обзору генераторов QR-кодов. И, поскольку на данной странице уже есть генератор стандартных кодов, представляю Вашему вниманию небольшую подборку нестандартных сервисов.

Создать цветной QR-код

Создать обычный чёрный QR-код сегодня не проблема. Однако, часто можно встретить различные цветные коды. Если Вам хочется создать именно такой рекомендую очень простой и бесплатный генератор QRMania.ru :

При помощи QRMania.ru Вы можете закодировать любой текст, номер телефона, шаблон SMS-сообщения, адрес электронной почты и шаблон письма, визитную карточку, сообщение в Twitter или географические координаты. Всё, что нужно сделать - выбрать нужный тип кодируемых данных и заполнить появившуюся форму. По мере ввода данных внизу будет динамически формироваться готовый QR-код.

Справа от форм ввода имеется набор доступных настроек. Здесь можно выбрать любой цвет вместо стандартного чёрного (главное, чтобы он хорошо контрастировал с фоном), задать размер (от 200 до 1000 пикселей), уровень коррекции ошибок и скругления острых углов Вашего кода. Все настройки применяются в режиме реального времени, поэтому Вы можете наблюдать за всеми изменениями.

Чтобы сохранить сгенерированный QR-код достаточно навести на кнопку "Сохранить" (справа вверху над кодом). При этом откроется меню выбора формата сохранения: обычный PNG, векторный EPS или в виде ссылки. Чтобы сохранить простую картинку нажмите на вариант PNG и при помощи контекстного меню "Сохранить изображение как..." скачайте себе Ваш QR-код.

При помощи QRMania.ru можно быстро создать весьма симпатично выглядящий QR-код. Недостатками можно назвать, разве что, отсутствие возможности поменять фон кода и закодировать данные WiFi-подключения. Кстати, если Вам не нужно скругление углов, то аналогичные возможности предоставляет сервис 8500.ru .

Создать QR-код с изменённой формой точек

Стандартный QR-код содержит в себе однотонные квадраты в качестве носителей информации. Однако, оказывается, что эти квадраты можно заменить и другими фигурами и даже раскрасить их в нужные цвета! Если Вы хотите поэкспериментировать, можете попробовать сделать это с сервисом QRcode.by :

Здесь, как и в предыдущем сервисе, можно закодировать практически любую информацию, кроме данных WiFi. Для получения доступа к различным дополнительным функциям предлагается зарегистрироваться, однако, с регистрацией у сервиса наблюдаются какие-то проблемы, поэтому будем исходить из того, что доступно любому неавторизированному пользователю. А доступно довольно много чего интересного...

После выбора типа кодируемых данных и заполнения всех нужных полей мы попадаем на экран редактора QR-кода. Здесь у нас есть возможность изменить форму маркеров, точек внутри них, а также точек самого кода. Для каждого элемента и фона можно также задать любой цвет. Присутствует также функция замены фона на картинку, но она, как и регистрация, выдаёт ошибку... Для увлекающихся натур над картинкой кода находится индикатор его читаемости, который меняется в режиме реального времени. Это очень удобно, поскольку позволяет оценить, смогут ли пользователи считать Ваш разукрашенный нестандартный QR-код.

Сохранить готовый QR-код при помощи предлагаемой кнопки, к сожалению, нельзя. Поэтому придётся довольствоваться изображением предпросмотра (контекстное меню - "Сохранить изображение как...), которое, впрочем, имеет вполне подходящие размеры (350 на 350 пикселей) для большинства нужд.

Создать QR-код с надписями

Если Вы интересуетесь QR-кодами, то, наверняка, замечали не совсем обычные коды, внутри которых размещались надписи или какие-либо иконки. Создать подобный QR-код с текстом можно при помощи генератора QRcc.ru :

На данном сервисе доступен практически весь ассортимент доступных для кодирования данных (нет, разве что, новомодных сообщений в соцсетях). Кроме того, с его помощью можно создавать не только традиционные QR-коды, но и штрих-коды форматов DataMatrix и MicroQR!

Принцип работы - стандартен: выбираем тип кодируемых данных, заполняем нужные поля и переходим к дополнительным настройкам. Здесь мы можем задать текст внутри кода или иконку (к сожалению, загрузить свою нельзя, можно только выбрать одну из имеющихся). Также можно добавить надпись или подпись к нашему коду, настроить цвета для всего этого (цвет точек кода, текста внутри и надписей) и задать относительный размер увеличения (до 4-кратного). После всех настроек жмём кнопку "Создать код" и получаем результат, который можно сохранить как обычное изображение или в виде ссылки.

Фактически единственным недостатком QRcc.ru я бы назвал отсутствие возможности установки собственной иконки внутри кода, а также смены шрифта внутреннего текста и надписей.

Создать QR-код с логотипом

Рассмотренный выше сервис предоставлял нам возможность создать QR-код с небольшой иконкой внутри. Однако, в нём не было возможности загрузить собственную картинку вместо одной из стандартных. Если же Вам хочется создать QR-код с собственным логотипом, то в этом может помочь англоязычный сервис QRcode-monkey.com :

Данный генератор позволяет кодировать практически все доступные на данный момент в спецификации QR типы информации (кроме файлов). При этом он предоставляет все базовые функции бесплатно. За деньги можно скачать коды в типографских форматах, однако и обычного PNG зачастую достаточно.

Для начала работы перейдите на нужную вкладку и заполните форму требуемыми данными. Ниже Вы найдёте небольшую панельку, позволяющую задать цвет кода (сплошной или градиентный). Под этой панелькой активируем галочку "Include Logo/Image in QR-Code" и нам откроется возможность выбрать в качестве центрального изображения одну из доступных иконок. Чтобы загрузить собственную картинку, перейдите на вкладку "Own Logo Image", нажмите кнопку "Upload Image" и выберите то, что нужно. Нам осталось только задать размер (выпадающий список "Resolution in Pixel/QR-Point") и нажать кнопку "Create QR-Code".

После успешной генерации для сохранения кода в нужном разрешении нажмите кнопку "Download PNG" или сохраните как изображение картинку-превью.

Создать необычный QR-код

До сих пор мы рассматривали различные сервисы, позволяющие создавать QR-коды с различными фишками. Однако, мне удалось найти генератор, который объединяет в себе практически все необходимые для создания необычных и брендированных кодов - CreamBee.ru :

Этот сервис позволяет кодировать все основные типы данных, но его главная фишка не в этом. После традиционного заполнения формы нужной информацией Вы попадаете в полноценный редактор, который даёт возможность изменить внешний вид любого элемента кода! Весь инструментарий разбит по группам на 5 вкладках:

  1. Шаблоны . На данной вкладке Вы можете выбрать один из готовых шаблонов или применить свои (если Вы зарегистрировались на сервисе и создали их ранее).
  2. Цвета . Здесь у Вас есть возможность менять цвет любого элемента QR-кода. Причём, можно задавать как однотонную заливку, так и градиенты! Особо стоит обратить внимание на кнопку "Удиви меня" - нажмите и увидите, что будет;)
  3. Фигуры . Эта вкладка позволяет изменить форму элементов Вашего кода, а также задать угол его вращения.
  4. Правка . Пожалуй, самая интересная вкладка, поскольку содержит целый набор дополнительных инструментов, вызываемых кнопками вверху. По умолчанию открывается настройка избыточности кода с оценкой его читабельности. Далее следуют инструменты ручного добавления и удаления блоков, а также правки параметров заливки. Последняя кнопка открывает доступ к возможности вставки собственного логотипа и фонового изображения.
  5. Экспорт . На последней вкладке размещена возможность сгенерировать HTML-код для вставки на сайт или в блог в виде ссылки.

Скачать готовый код можно в растровом формате PNG или векторном SVG. Пожалуй, недостатков у сервиса нет, если не считать довольно большую навороченность, с которой сходу разберётся не каждый.

Создать динамический QR-код бесплатно

Обычный QR-код содержит в себе в неизменном виде закодированную информацию. Однако, что, если Вам вдруг потребовалось эту информацию изменить. Можно, конечно, сгенерировать новый код, однако, не всегда это получится. Например, Вы заказали себе визитку с QR-кодом, в котором зашифрована Ваша личная информация. И вот уже макет сдан в тираж, а у Вас изменился, к примеру, номер телефона... Чтобы не терять потенциальных клиентов и лишних денег в подобных случаях, были придуманы так называемые динамические QR-коды .

Динамический код обычно содержит в себе ссылку на онлайн-профиль своего владельца. В этом профиле Вы можете менять всё, что нужно - оно автоматически будет доступно тому, кто считает Ваш QR-код! К тому же Вам как владельцу будет доступна ещё и статистика считываний. К сожалению, большинство сервисов предоставляют услугу создания динамических QR-кодов только на платной основе. Однако, некоторые, в качестве теста, дают от одного до трёх таких кодов бесплатно! Одним из таких генераторов является QRcode.TrustThisProduct.com :

Этот сервис позволяет создавать также и простые QR-коды, но нас интересуют именно динамические. Бесплатно их можно сделать до 3 штук. При этом для доступа к данной функции обязательно нужно авторизироваться при помощи аккаунта одной из соцсетей (Google+, Facebook, ВКонтакте или LinkedIn).

После входа в режим создания виртуального профиля нам нужно заполнить необходимые поля формы с данными о себе. Здесь можно добавить аватарку, указать номера телефонов. E-Mail-адреса и любую другую личную информацию. Учтите, что она будет в общественном доступе. После заполнения можно активировать слежение за кодом (статистика кликов будет приходить на почту, к которой привязан Ваш профиль соцсети, выбранной при авторизации) и выбрать сервис, на котором будет создана Ваша виртуальная визитка: me24.info или about24.info (что, впрочем, не играет особой роли). Сохраняем данные и нам становится доступной возможность стилизации QR-кода.

Что касается стиля, то мы можем задать режим избыточности для повышения коррекции ошибок считывания, размер, цвет фона и элементов кода, уровень прозрачности, а также внутренний логотип. Как видим, список возможностей весьма неплох. Единственное условие - если Вы решили добавлять логотип, обязательно убедитесь, что Ваш QR-код остаётся читабельным! Готовый код можно сохранить в форматах PNG, SVG или EPS.

QRcode.TrustThisProduct.com оказался практически единственным русскоязычным сервисом, который предоставляет пользователю динамические QR-коды на постоянной основе (а не в качестве пробника на 14 - 30 дней). Поэтому, если Вам интересно поработать с данным видом кодов, рекомендую.

Выводы

На сегодняшний день QR-кодам уже более 20 лет, однако, только в последние годы они обрели настоящую популярность и распространились за пределы "родной" Японии. Огромную роль в этом сыграли мобильные платформы, распознавание на которых стало возможным посредством обычной камеры и специального ПО (кстати, распознавание QR-кодов сейчас есть не только в специальных приложениях, но и, например, в мобильных браузерах, вроде UC Browser). Однако, и для компьютеров есть свои способы считывания.

Во-первых, существует много различных программ с полноценными конструкторами и сканерами QR-кодов. Во-вторых, онлайн-сервисы, вроде webqr.com . Этот сервис примечателен тем, что ничего не требует устанавливать, но при этом позволяет распознавать не только QR-коды в виде электронных картинок, которые можно загрузить или указать по ссылке, но и даёт возможность расшифровать коды из реальной жизни при помощи веб-камеры!

Кстати, если Вас заинтересовал генератор QR-кодов на нашей странице вверху, то он реализован на базе прекрасной бесплатной библиотеки от LazarSoft , которую Вы можете безвозмездно скачать и использовать для своих нужд. Используйте QR-коды, где Вам нужно, ведь это очень удобно и современно!

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

Скорее всего на вашем телефоне уже установлен по умолчанию сканер QR-кода, вы можете легко с его помощью просканировать первый QR-код. Сделать это очень легко. Просто следуйте нашей инструкции.

1. Откройте устройство чтения QR-кода на своем телефоне.

2. Держите устройство над QR-кодом так, чтобы он был хорошо виден на экране вашего смартфона.

Если вы правильно держите смартфон над QR-кодом, то в таком случае произойдет следующее:

  • Телефон автоматически сканирует код.
  • В некоторых приложениях для сканирования кода вы должны нажать на изображение, а не на кнопку как для создания фото на вашем смартфоне.

3. Нажмите указанную кнопку, если потребуется.

Супер! Ваш смартфон считывает код и переходить по заданной ссылке, что не всегда происходит мгновенно. На большинстве устройств это может занять несколько секунд.

Вы начнете видеть QR-коды повсюду. Они используются для обучения, информирования, объяснения и для многих других вещей. Находите их и сканируете! QR-коды сэкономят вам много времени и усилий.

Как сканировать QR-коды на Android

А теперь мы расскажем вам, как использовать приложение сканирования для QR-кодов на Android.

Кратко:
1. Откройте Play Маркет .
2. Поиск считывателя QR-кода .
3. Выберите QR Code Reader (через Scan).
4. Нажмите «Установить» .
5. Откройте программу чтения QR-кода .
7. Направьте камеру на QR-код.
8. Нажмите «ОК» .

Шаг 1 . Откройте Play Маркет на Android. Это значок в приложении или на главном экране.

Шаг 2. Введите считыватель QR-кода в поисковике. Появится список приложений для чтения QR-кода.

  • Эта статья объясняет, как использовать QR-код Reader, но вы можете выбрать то, приложение, которое вам понравится. Просто не забудьте прочитать о приложении перед загрузкой.
  • Шаги должны быть одинаковыми для всех приложений чтения QR-кода.

Шаг 3. Нажмите QR Code Reader, разработанный Scan. Имя разработчика указано ниже каждого приложения. Возможно, вам придется прокрутить страницу вниз, чтобы найти приложение, сделанное Scan.

Шаг 4. Нажмите « Установить» . Появится всплывающее окно с просьбой предоставить разрешение для доступа к информации на вашем Android.

Шаг 5. Нажмите «Принять» . QR-код Reader теперь будет установлен на вашем Android-устройстве.

    • Когда приложение будет загружено, кнопка «Установить» смениться на «Открыть», и у вас появится новый значок в приложении.

Шаг 6. Откройте QR Code Reader. Это значок, который похож на QR-код в приложении. Откроется приложение, которое выглядит как стандартный экран камеры.

Шаг 7. Выровняйте QR-код в кадре камеры. Немного похоже на то, как вы делаете фотографии, за исключением того, что вам не нужно нажимать какие-либо кнопки. Когда сканер штрих кодов прочитает код, появится всплывающее окно с URL-адресом в коде.


Шаг 8. Нажмите «ОК», чтобы открыть веб-сайт. Это запускает ваш веб-браузер по умолчанию и перемещается по URL-адресу в QR-коде.

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

История создания

Итак, что же подразумевает под собой подобного рода шифр? Все очень просто: QR - аббревиатура слов Quick Response, что в переводе с английского языка означает «быстрый отклик» или «быстрый ответ». А QR-код - это так называемый двумерный штрих-код, который был разработан и представлен в 1994 году японской компанией, именуемой Denso Wave. QR-код, расшифровать который после прочтения данной статьи не составит большого труда, стал нужен в силу того, что японским компаниям не хватало объема информации, которую можно заложить в обычный одномерный штрих-код.

Процесс распознавания

Если взглянуть на код формата quick response, можно увидеть квадрат с воображаемыми невидимыми сторонами, внутри которого расположены другие четырехугольные фигуры разной длины и размеров. Именно в них и заложена вся текстовая информация, зашифрованная в двумерный код.

Все, что нужно, чтобы QR-код расшифровать на компьютере, - это специальный сканер, который считывает изображение подобно сканеру штрих-кода. Отличие только в том, что инфракрасный сканер для считывания штрихов излучает лишь одну полоску, тогда как QR-код распознается как двумерное изображение посредством излучения большого количества подобных полосок.

Преимущества использования

Первое заметное отличие шифра quick response от обычного штрих-кода - это которое можно в нем разместить. Тогда как «штрих» поддерживает лишь цифровые символы, QR позволяет закладывать в себя буквы, слова и целые предложения.

Если взять самый большой QR-код, расшифровать на «Андроид» или на компьютере, то можно увидеть, что максимальное количество цифр, содержащихся в шифре, - 7089. Кроме того, на латинице в него можно поместить до 4296 цифр и букв. Если же говорить о то количество возможной заложенной информации чуть меньше - 2953 байта.

Популярность

Когда в 1994 году компания Denso Wave разрабатывала и лицензировала свой продукт, ее владельцы и не рассчитывали на большую популярность изобретения. Предназначен QR-код был лишь для того, чтобы покрывать производственные нужды отдельных компаний. Ведь QR-код, расшифровать и распознать который очень просто, позволял сократить многие производственные процессы до нескольких секунд.

Позднее, в середине 2000-х, при появлении первых смартфонов с камерой, а после них - Apple iPhone и других более современных девайсов, QR-код снова начал набирать популярность. Все дело в том, что приложения, считывающие шифр с помощью камеры устройства, также могут делать это в считаные секунды. Причем информация, содержащаяся в QR, может в полной мере передавать ссылки, письма, SMS, контакты и даже изображения JPG и GIF размером до 4 кб. Последние, к слову, не прижились в современном мире и применяются очень редко.

Как QR-код расшифровать

Android- и iOS-смартфоны уже давно имеют огромное количество приложений, предназначенных для распознавания двумерного шифра. Самое главное требование - наличие камеры с хорошим разрешением и, желательно, автофокусом. Дело в том, что для расшифровки кода требуется четкое изображение, так что дешевый смартфон с камерой в 2 мегапикселя без автофокуса, скорее всего, не сможет считать информацию. Но представим идеальные условия, когда смартфон достаточно хороший, а камера, соответственно, с высоким разрешением и фокусировкой.

Если просто включить приложение камеры и навести на QR-код, естественно, ничего не выйдет, и шифр не распознается. Все потому, что для считывания нужно специальное приложение-дешифратор. Где его взять? В данном случае все тоже очень просто: подобными приложениями полны различные магазины мобильных приложений, такие как AppStore на iPhone и Play Market на Android. В строке поиска последних стоит ввести запрос «сканер QR-кода» или же просто «сканер QR». После появления результатов следует выбрать любое приглянувшееся приложение, установить и запустить его. На интересующий QR-код наводят камеру с любой стороны и под абсолютно любым углом. Приложение само выводит нужную информацию на дисплей. К примеру, если это будет ссылка на веб-сайт, автоматически запустится по умолчанию установленный браузер с уже открытой страницей.

Если говорить о распознавании QR-кода на компьютере, то здесь также ничего сложного нет. Главное - наличие нужного сканера. Самый простой способ - это открыть любой текстовый редактор и навести сканер на двумерный код. Как итог, на дисплее в текстовом виде будет предоставлена вся необходимая информация.

Где используются QR-коды

Самый интересный способ использования подобных шифров - это печать на футболках, чем занимаются различные зарубежные интернет-магазины. Суть в том, что человек, желающий завести новые знакомства, формирует из ссылки на свой профиль в соц. сетях тот самый QR-код, который, в свою очередь, печатается на футболке. Как результат - каждый, кто заметил подобного рода «квадрат» на одежде другого человека, может «считать» его и после добавить в друзья.

Не менее полезен QR в индустрии рекламы. Так, многие компании печатают целые баннеры с двумерными шифрами для того, чтобы каждый проходящий мимо или даже издалека мог отсканировать информацию, чаще всего содержащую ссылку на веб-сайт компании. Кроме того, рекламировать так можно не только веб-сайты, но и отдельные предметы. К примеру, QR-код, расшифровать который сейчас не составит труда, наносится на ту или иную вещь гардероба непосредственно производителем. Человек сидит в кафе в красивой рубашке, на которой нанесен соответствующий код. Тот, кому понравилась рубашка, может легко отсканировать шифр и попасть непосредственно на страницу продажи этой самой рубашки. И людям удобно, и компании прибыль.

Подводя итоги, хочется сказать, что, благодаря QR-кодам, поиск информации в современном мире стал намного приятнее и проще. Конечно, смартфоны могут сканировать и более простые одномерные штрих-коды, но последние не несут достаточной информации, что делает двумерные шифры более популярными. Именно поэтому не стоит лениться, чтобы скачать приложение-дешифратор на свой смартфон. Ведь кто знает, где и когда потребуется распознание QR-кода.


Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме. В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин. Решение задачи непосредственного чтения информации с QR-картинки рассмотрим на примере двух кодов.
Чтобы понять, как извлечь данные из кода, нужно разобраться в алгоритме. Существует несколько стандартов в семействе QR кодов, с их базовыми принципами можно ознакомиться в спецификациях. Кратко поясню: данные, которые необходимо закодировать, разбиваются на блоки в зависимости от режима кодирования. К разбитым по блокам данным прибавляется заголовок, указывающий режим и количество блоков. Существуют и такие режимы, в которых используется более сложная структура размещения информации. Данные режимы рассматривать не будем, в виду того, что извлекать вручную из них информацию нецелесообразно. Однако, основываясь на тех принципах, что описаны ниже, можно адаптироваться и к этим режимам. На случай некорректного чтения данных в QR применяются специальные коды, которые способны исправить недочёты при чтении. Это так называемые коды Рида-Соломона . Принцип вычисления кодов, а также исправление ошибок в блоках информации рассматривать не будем, это тема отдельной статьи. Корректирующие ошибки коды Рида-Соломона (RS) записываются после всех информационных данных. Это очень упрощает задачу непосредственного чтения информации: можно просто считать данные, не трогая коды. Как показывает практика, обычно бОльшую часть QR -матрицы занимают корректирующие RS-коды.

По стандарту, данные с RS-кодами перед записью в картинку «перемешиваются». Для этих целей используют специальные маски. Существует 8 алгоритмов, среди которых выбирается наилучший. Критерии выбора основаны на системе штрафов, о которых можно также почитать в спецификации. «Перемешанные» данные записываются в особой последовательности на шаблонную картинку, куда добавляется техническая информация для декодирующих устройств. Исходя из описанного алгоритма, можно выделить схему извлечения данных из QR кода:
Здесь зелёным фломастером подчёркнуты пункты, которые нужно будет реализовать при непосредственном чтении кода. Остальные пункты можно опустить в виду того, что считывание производит человек.

Шаг 0. QR код


Взглянув на картинки, можно заметить несколько отчётливых областей. Эти области используются для детектирования QR кода. Эти данные не представляют интереса с точки зрения записанной информации, но их нужно вычеркнуть или просто запомнить их расположение, чтобы они не мешали. Всё остальное поле кода несёт уже полезную информацию. Её можно разбить на две части: системная информация и данные. Также существует информация о версии кода. От версии кода зависит максимальный объём данных, которые могут быть записаны в код. При повышении версии – добавляются специальные блоки, например как здесь: По ним можно сориентироваться и понять какая версия QR перед вами. Коды высоких версий обычно также нецелесообразно считывать вручную. Размещение системной информации показано на рисунке:
Системная информация дублируется, что позволяет значительно понизить вероятность возникновения ошибок при детектировании кода и считывании. Системная информация – это 15 бит данных, среди которых первые 5 - это полезная информация, а остальные 10 – это BCH (15,5) код, который позволяет исправлять ошибки в системных данных. К классу BCH кодов относят и RS коды. Обратите внимание, что на рисунке две полоски по 15 бит не пересекаются.

Шаг 1. Чтение 5 бит системной информации

Как уже говорилось, интерес представляют только первые 5 бит. Из которых 2 бита показывают уровень коррекции ошибок, а остальные 3 бита показывают какая маска из доступных 8 применяется к данным. В рассматриваемых QR кодах системная информация содержит:

Шаг 2. Маска для системной информации

Кроме уже озвученных схем зашиты системной информации, в добавок, используется статическая маска, которая применяется к любой системной информации. Она имеет вид: 101010000010010 . Так как имеет интерес только первые 5 бит, то маску можно сократить и легко запомнить: 10101 (десять-сто один). После применения операции «исключающего или» (xor) получаем информацию. Возможные уровни коррекции ошибок:
L 01
M 00
Q 11
H 10
Возможные маски:
000 (i + j) mod 2 = 0
001 i mod 2 = 0
010 j mod 3 = 0
011 (i + j) mod 3 = 0
100 ((i div 2) + (j div 3)) mod 2 = 0
101 (i j) mod 2 + (i j) mod 3 = 0
110 ((i j) mod 2 + (i j) mod 3) mod 2 = 0
111 ((i+j) mod 2 + (i j) mod 3) mod 2 = 0

Шаг 3. Чтение заголовка данных

Чтобы понять с какими данными предстоит иметь дело, необходимо изначально прочитать 4-х битный заголовок, который содержит в себе информацию о режиме. Специфика чтения данных изображена на картинке:
Список возможных режимов:

Шаг 4. Применение маски к заголовку

После извлечения 4-х бит, описывающих режим, необходимо к ним применить маску.
В нашем случае для двух кодов используются разные маски. Маска определяется выражением, приведённым в таблице выше. Если данное выражение сводится к TRUE (верное) для бита с координатами (i,j) , то бит инвертируется, иначе всё остаётся без изменений. Начало координат в левом верхнем углу (0,0) . Взглянув на выражения, можно заметить в них закономерности. Для рассматриваемых QR кодов, маски будут выглядеть так: Получим режимы:

Шаг 5. Чтение данных

После получения данных о режиме можно приступать к чтению информации. Надо оговорить, что наиболее интересно считывать числовые и буквенно-числовые данные, так как они легко интерпретируются. Но также не стоит бояться 8-битных. Это может быть также легко интерпретируемая информация. Например, многие онлайн генераторы QR текст кодируют в этом режиме, используя . Ещё одна причина, почему следует изначально прочитать режим это то, что от него зависит количество пакетов данных. Которая также зависит и от версии кода. Для версий с первой по девятую длины блоков для более читабельных режимов: Первый блок после указателя режима – это количество символов. Для числового режима количество закодировано в 10 следующих битах, а для 8-битного режима в 8 битах (прошу прощения за тавтологию).
На рисунке видно, что в левом QR коде, как и отмечалось, записана цифра 5. Это видно по указателю количества символов и последующим после него 4 битам. В числовом режиме наряду с 10-битными блоками используются 4-х битные блоки для экономии места, если в 10-битном объёме нет необходимости. В правом коде, зашифровано 4 символа. На данный момент неизвестно, что зашифровано в нём. Поэтому необходимо перейти к чтению следующего столбца для извлечения всех 4-х блок информации.
На рисунке видно, все 4 пакета представляют собой коды ASCII латинских букв, образующие слово «habr» Естественно наилучшим способом остаётся достать телефон из кармана и, наведя камеру на QR-картинку, считать всю информацию. Однако в экстренных случаях может пригодиться и описанная методика. Конечно, в голове не удержишь все указатели режимов и типов масок, а также ASCII символы, но популярные комбинации запомнить (хотя бы те, что рассмотрены в статье) под силу.

Спецификация:

BS ISO/IEC 18004:2006. Information technology. Automatic identification and data capture techniques. QR Code 2005 bar code symbology specification. London: BSI. 2007. p. 126. ISBN 978-0-580-67368-9. P.S. Соблюдайте правила ресурса и условия Creative Commons Attribution 3.0 Unported (CC BY 3.0)