Что такое QR-код и как правильно им пользоваться? Сканирование QR-кода на Android-девайсах.

Двухмерные QR коды (англ. quick response - быстрый отклик) были разработаны в Японии компанией «Denso-Wave» в 1994 году для нужд автомобильной промышленности. Со временем QR-коды получили широкое распространение в самых различных областях благодаря эффективному способу хранения закодированной информации. В качестве самой информации может выступать что угодно: ссылки на сайты, телефонные номера, адреса электронной почты, тексты в несколько тысяч знаков.

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

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

Рассмотрим решение задачи по сканированию QR-кодов на примере приложений для наиболее популярных платформ смартфонов: iOS для iPhone и Android для мобильных устройств различных производителей.

Приложение для сканирования QR кодов на iPhone
Чтобы наделить iPhone возможностями для работы с QR кодами и производить их сканирование выполните следующие шаги.
Пример сканирования QR кодов на Android
На платформе Android работа с QR кодами ничем принципиально не отличает, от аналогичных действий на iOS.
Разумеется, что рассмотренное нами приложение далеко не единственная программа для сканирования QR кодов на мобильных устройствах. Вы можете сами попробовать другие приложениях и найти среди них наиболее удобный вариант.

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

Как отсканировать QR код на Андроид для разных целей (подключения Wifi, авторизации в мессенджерах Viber, Whatsapp, просмотра товаров на Aliexpress) мы подробно рассмотрим в этой публикации. Разберем как встроенные возможности Android, так и сторонние приложения.

Уверен, что многие из Вас нередко встречают подобные «рисунки» в интернете, на рекламных объявлениях, упаковках товаров и т.д.:

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

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

Процедура считывания занимает несколько секунд, и необходимым условием является подключение к глобальной сети Internet. Давайте подробно рассмотрим инструменты.

К сожалению, не все смогут ими воспользоваться. Старые версии ОС, установленные на телефонах старше 5 лет, вряд ли поддерживают такой способ. А вот более современные прошивки справляются с задачей практически на автомате.

К примеру, на моём Xiaomi Redmi Note 4 есть стандартное приложение «Сканер ». Кроме того, достаточно просто включить камеру и навести её на код QR, чтобы появилась кнопка «Подробнее… », а уже в новом окне увидите ссылку (или прочую информацию):

Опять же, всё зависит от Android и установленной оболочки - в MIUI (в Сяоми/Ксиаоми) и Flyme (для Meizu) эти функции реализованы, хотя в последнем случаем необходимо выбрать соответствующий режим съемки:

Попробуйте поискать у себя нечто подобное, покопайтесь в настройках. Если не найдете – переходите к перечню полезных утилит.

Как отсканировать QR код на Android сторонними программами

В официальном магазине Google Play по данному запросу можно найти множество софта, с помощью которого производиться распознавание кодов разного типа. Но следует использовать только ПО с высоким рейтингом, желательно выбирать варианты без рекламы (хотя таких мало). Я подготовил перечень, актуальный на 2018 год. Возможно, в будущем появятся решения более продвинутые. Хотя, что нового может предложить утилита подобного назначения?

  • Молния сканер ;

Не буду конкретно описывать интерфейс и возможности каждого инструмента, поскольку они идентичны, имеют одинаковый принцип работы, а именно:

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

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

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

Иллюстраций: 14, символов: 8 510.

Для тех, кто не в курсе что такое QR код , есть в английской Wikipedia. Также можно почитать тематический блог на Хабре и несколько хороших статей по смежной тематике, которые можно найти поиском .

Решение задачи непосредственного чтения информации с QR-картинки рассмотрим на примере двух кодов. Информация была закодирована в online-генераторе QR Coder.ru .

Чтобы понять, как извлечь данные из кода, нужно разобраться в алгоритме. Существует несколько стандартов в семействе 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-х битный заголовок, который содержит в себе информацию о режиме. Специфика чтения данных изображена на картинке:

Список возможных режимов:

P.S. Соблюдайте правила ресурса и условия Creative Commons Attribution 3.0 Unported (CC BY 3.0)

P.P.S. Если ошибся блогом, то подскажите куда - перенесу.

Теги: Добавить метки

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

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

Как скачать приложение через QR-код

Если вам предложено открыть QR ссылку на приложение в Play Market, открыть ее можно только с помощью специальной утилиты-сканера, которую тоже надо для начала иметь на телефоне. То есть если вы впервые столкнулись с такой задачей, у вас на телефоне, скорее всего, нет нужной программы-сканера, и ее надо установить. Наиболее популярной считается QR Code Reader, она имеет аналоги на всех операционных системах современных смартфонов. Конечно, можно использовать и другие приложения, например: «QR Code Scanner», «Neo Reader», «Barcode Scanner», «QuickMark». Подробнее о программах для сканирования QR кодов мы писали .

После установки сканера можно будет использовать Quick Response ссылки на приложения в Play Market, для этого сделайте следующее:

  1. Отсканируйте QR мобильным телефоном при помощи утилиты, сделать это можно прямо с экрана компьютера. Откройте приложение для чтение QR кода, которое установлено на вашем мобильном телефоне;
  2. Откроется сканер, наведите камеру на экран компьютера, так чтобы код полностью попадал в границы видоискателя;
  3. Приложение после сканирования, моментально расшифрует кодировку и выведет информацию на экран;
  4. Если это url-ссылка то будет предложено открыть её через браузер;
  5. Если это ссылка на страницу в Google Play, то в списке действий появится кнопка «Использовать Play Маркет»
  6. Далее откроется страница с приложением и можно будет приступить к его установке;
  7. Нажмите «Установить», дождитесь загрузки приложения;
  8. Когда приложение будет готово для использование появится кнопка «Открыть». С её помощью его можно запустить и использовать после этого.

Обратите внимание, что приложения распространяются посредством Quick Response кодов не только на платформе Android. Таким же образом можно скачать приложения для Windows Phone или iOS, просто открыв страницу через Microsoft Магазин или через App Store, в зависимости какой операционной системой вы пользуетесь. Для сканирования кода интернет соединение не обязательно, а вот для того чтобы скачать приложение через ссылку которая закодирована в Quick Response обязательно наличие доступа в сеть - через Wi-Fi или мобильную связь.

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

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

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

Для загрузки в программу изображения с QR-кодом использовать различные типы источников и методы.

CodeTwo QR Code Desktop Reader поддерживает считывание QR-кода:

С экрана (From Screen)

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

С Веб-камеры (From webcam)

Для этого необходимо сфокусировать подключенную к компьютеру камеру на графическом изображении штрихкода.

Из файла (From file)

С помощью проводника Windows указать на нужный файл цифрового изображения с зашифрованной QR-информацией. Поддерживаются BMP, JPG, TIFF, GIF и PNG форматы.

Из буфера обмена (From clipboard)

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

QR-код генератор

Программа CodeTwo QR Code Desktop Reader является не только инструментом для считывания QR-code, а также способна сама генерировать зашифрованный графический штрихкод из Ваших данных. Для этого нужно воспользоваться соответствующим пунктом главного меню приложения "Режим Генератор (Generator mode on)". В окне для ввода текста "QR code text" набрать необходимую информацию и сохранить получившееся изображение в один из форматов графических файлов "Save as".

Максимальный объем современного стандарта кодирования QR-code вмещает:

  • Цифр 7089
  • Латинских символов 4296
  • Кириллица
    • В Windows-1251 кодировке 2953 символа
    • В UTF-8 кодировке 1450 символов