как распознается qr код
Как cчитать QR-код: все способы
Обычно QR-код читают с помощью специального приложения на смартфоне. Но его можно расшифровать и без дополнительных гаджетов. Мы расскажем про все способы.
В этой статье мы покажем, как считать QR-код с помощью браузера, приложения, ПК на Windows и вручную.
Как считать QR-код без приложения
Если у вас нет приложения для чтения QR-кода, вы все равно можете расшифровать эти непонятные черно-белые квадраты. И самый простой способ сделать это — использовать специальный сайт.
Как считать QR-код с помощью смартфона
Самым простым способом чтения QR-кодов является использование смартфона, на котором установлено специальное приложение.
Как читать QR-коды на ПК с ОС Windows
Как считывать QR-коды на компьютере или ноутбуке, подробно описано в нашем соответствующем материале. Здесь для сканирования штрих-кода вам понадобится веб-камера.
Как расшифровать QR-код вручную
Интересно, что QR-код можно расшифровать совсем без сканера. Надо только знать, что такое QR и как он работает: его структуру, функции и отдельные элементы. Подробную информацию о данном методе можно найти в нашей статье.
QR-код и методы его распознавания
Сегодня мы расскажем вам о том, что такое QR код, а также о методах его распознавания.
Больше всего QR-код напоминает собой традиционный штрих-код. Но он имеет квадратную форму, а вместо полосок разной толщины здесь используется множество квадратиков, которые рядовыми пользователями могут приниматься за лабиринт из полосок. Зачем же нужны QR-коды? Какое приложение следует использовать для их считывания? На все эти вопросы постарается ответить наша статья.
В чём преимущества QR-кода?
В любом QR-коде зашифрована та или иная информация. Она может быть следующих видов:
- Координаты— если вы сможете распознать QR код, то в любом картографическом сервисе отобразится адрес. Это может быть местоположение магазина или какой-либо организации или даже какого-то мероприятия. Всё зависит от того, откуда был считан код. Номер телефона— просканировав QR-код, смартфон автоматически наберёт зашифрованный номер. Обычный текст— теоретически закодированы могут быть даже простые слова. Визитная карточка— объединяет в себе данные о телефоне, электронной почте и имени человека. URL-адрес— шифруется QR-кодом чаще всего. Сканирование рисунка приведет к запуску интернет-браузера и переходу на заданную страницу.
Зачем же сейчас используется QR-код, который невозможно распознать без определенного приложения? Всё очень просто. Если обычный адрес вы можете запомнить, а номер телефона вводится в контактную книгу достаточно легко, то с URL-адресом такой фокус не пройдет. Его бессмысленно фотографировать — в будущем вы точно поленитесь вбить соответствующий текст в адресную строку браузера. Взгляните хотя бы на адрес текущей страницы, в котором присутствует множество латинских букв и специальных знаков!
Сканирование QR-кода — это самый легкий способ перейти на какую-то интернет-страничку и сделать закладку.
Приведем очень простой пример. Производители напитков регулярно проводят различные конкурсы. Но полные их условия разместить на упаковке невозможно — не хватит места, либо шрифт станет совершенно нечитаемым. Решение проблемы заключается в размещении QR-кода. Он будет вести на интернет-страничку с подробными условиями акции. Вам же остается его просканировать. Что интересно, иногда для этого даже не требуется специальная программа считывания!
Как отсканировать QR-код?
Некоторые смартфоны могут распознать QR код без привлечения дополнительных приложений. Эта функция у них встроена в стандартную программу «Камера». При считывании кода отобразится зеленый квадрат или какой-то другой знак, нажатие на который позволит прочитать зашифрованную информацию или перейти по ссылке. Мы не будем перечислять список всех смартфонов и планшетов, которые поддерживают данную функцию, так как он весьма велик. Отметим лишь, что чаще всего настолько легким распознаванием QR-кода могут похвастать флагманы.
Программы, способные расшифровать QR-код, обычно являются очень простыми в освоении. Весят они немного, поэтому вы можете скачать любое приложение даже при отсутствии сети Wi-Fi. Если вам нужна подобная программа на Айфон, то мы рекомендуем установить Scan. Эта утилита была создана достаточно давно, а её интерфейс переведён на множество языков, включая русский. Считывать она может в том числе штрих-коды, которые содержат в себе информацию о товаре. Имеется у программы и дополнительный функционал, заключающийся в создании полезных QR-кодов. Например, вы можете создать специальный код, считывание которого позволит вашим гостям подключиться к сети Wi-Fi.
Ещё более упрощенным приложением такого рода для iOS является Bakodo. Оно тоже позволяет распознавать штрих-коды и QR-коды. Расширенного функционала здесь нет, но зато программа работает очень быстро. Её недостатком является то, что среди поддерживаемых языков здесь нет русского. Впрочем, интерфейс Bakodo настолько прост, что это не является проблемой. Работает приложение на устройствах с iOS 8.1 или более свежей версией операционной системы.
Что касается операционной системы Android, то для неё разработано огромное количество программ, умеющих распознавать QR-коды. Например, вы можете установить QuickMark. Это очень небольшое, но весьма функциональное приложение. Оно понимает не только QR-коды, но и штрих-коды самых разных форматов. Интерфейс здесь выполнен на английском языке, но это ничуть не пугает. Каждое ваше считывание какого-либо кода заносится в историю, что очень удобно. Ссылки открываются посредством Google Chrome или любого другого браузера, который у вас назначен по умолчанию. К сожалению, есть у данного продукта разработчиков и негативные стороны. Заключаются они во время от времени отображаемой рекламе. Устранить этот недостаток можно только покупкой полной версии. А ещё в отзывах нередко встречаются упоминания о том, что на каких-то смартфонах приложение попросту не работает.
С некоторых пор законодательство Российской Федерации обязывает магазины печатать на кассовом чеке QR-код, сканирование которого обычными приложениями ни к чему не приведёт. Для чтения таких QR-кодов понадобится программа «Проверка чеков» от ФНС России. Приложение сканирует код, после чего запрашивает электронную копию чека из налоговой службы (сейчас данные туда отправляются практически сразу после покупки). С помощью «Проверки чеков» можно хранить историю покупок тех или иных товаров. Но интерфейс программы не рассчитан под эту цель. Лучше задействовать приложение вместе с какой-нибудь приложения, служащего для учета доходов и расходов. Экспорт электронного чека следует осуществлять в формате JSON.
Гораздо более популярная программа для считывания QR кодов для Андроид — это Barcode Scanner. Как водится, она умеет сканировать штрих-коды, позволяя затем выяснить среднюю цену продукта и почитать отзывы на него. Функционал по считыванию QR-кодов был добавлен позднее, но он быстро стал основным. Работает приложение очень просто — вам нужно лишь навести камеру смартфона на код, ну а после автофокусировки на экран будет выведена зашифрованная информация. Приложение распространяется бесплатно, при этом никакой рекламы в нём нет.
Как уже было сказано выше, подобных программ на Андроид создано очень много. В этой статье мы не будем перечислять их все, так как это не имеет никакого смысла.
Как создать собственный QR-код?
Нет ничего сложного не только в сканировании, но и в генерации собственных QR-кодов. Это можно сделать разными способами — используя смартфон, компьютер или специальный сайт. О компьютерных программах мы говорить не будем, так как это не тематика Setphone. Но о двух других способах обязательно расскажем.
Проще всего для генерации QR-кода зайти на один из специализированных сайтов. Их создано множество, многие из них выполнены на русском языке. Например, вы можете зайти на decodeit.ru, ввести нужный текст или ссылку в соответствующее поле, после чего остается лишь нажать на кнопку «Отправить». Сайт даже заботливо подсказывает, как сохранить получившуюся картинку. Не позволяет данный ресурс зашифровать в виде QR-кода только визитную карточку.
Если же вы желаете использовать смартфон, то попробуйте воспользоваться Генератором штрихкодов. Интерфейс этого приложения переведен на русский язык, здесь не появляется надоедливая реклама, при этом распространяется творение разработчиков бесплатно. При помощи данной программы можно создавать самые разные штрих-коды — полный их перечень указан на страничке в Google Play. Что касается QR-кода, то в нём может быть зашифрована любая информация — от простого текста до полноценной визитной карточки.
Существуют и другие программы такого рода. Выше мы рассмотрели вариант для Android, но нечто подобное можно найти и в AppStore.
Что такое QR-код, как им пользоваться и как создать свой код
Содержание
Содержание
Многочисленные штрих-коды каждодневно окружают нас в быту. Даже не задумываясь о них, мы постоянно контактируем с предметами, на которые нанесена маркировка. Казалось бы, скучное техническое описание. Но и они таят в себе много интересной информации, особенно если это современный QR-код.
Что такое QR-код
Необходимость контроля над товаром еще много лет назад привела к появлению первых разновидностей маркировки. Со временем маркировка приобрела привычный для нас вид — цифры с вертикальными полосами — штрих-коды. С их помощью можно получить исчерпывающую информацию об изделии. Но минусом такого способа является то, что читается данный код лишь в одном направлении. Это сильно снижает количество информации, которую может вместить код.
QR-код в свою очередь стал логичным продолжением развития штрих-кода, позволяя хранить в себе гораздо больше информации. Достигается это путем считывания информации как по горизонтали, так и по вертикали. Данные с QR-кода считываются гораздо быстрее, чем с обычного штрих-кода. Три черных квадрата по краям обозначают границы кода, а оставшийся четвертый квадрат позволяет расшифровывать код даже в неправильном положении. Еще одним плюсом современного QR-кода является возможность его сканирования с помощью смартфонов и легкое создание. Данный нюанс дает большой потенциал в его использовании, в отличие от обычного штрих-кода, для расшифровки которого требуется больше усилий.
Где используется и как считывать информацию
Сферы применения QR-кодов необъятны. Они охватывают практически каждое направление в деятельности человека. Применение QR-кодов можно условно поделить на три большие категории:
Для расшифровки исконного QR-кода потребуется современный смартфон или планшет с камерой. Как правило, такие устройства имеют уже встроенный сканер QR-кода, но, если он отсутствует, выходом будет использование специальных приложений. Они есть в достаточном количестве как на платформе iOS, так и на платформе Android.
После включения функции QR-код будет выделяться рамкой. Для распознавания устройством может потребоваться точная фиксация объектива на коде, об этом просигнализирует всплывающая подсказка. После расшифровки на экране появится окошко с данными. В конкретном примере — это ссылка на скачивание фирменного ПО к продукту.
Еще один актуальный пример, который может встретиться в быту — медиавозможности телевизора. QR-коды в передачах могут быть реализованы в разнообразных вариантах. Например, для голосования за любимый клип и исполнителя в прямом эфире.
Считывание кода с телевизора происходит аналогичным способом озвученным ранее. После расшифровки QR-кода на экране устройства появится ссылка с инструкциями.
Как создать свой собственный QR-код
Не обязательно довольствоваться уже созданными QR-кодами — проявив немного фантазии можно создать свой уникальный код. Контактные данные на визитке, гостевой Wi-Fi или, может быть, подсказки для прохождения квеста с друзьями? Легко! Благо в интернете можно найти массу сервисов по генерации кодов. Рассмотрим несколько из них.
QR Code Generator
Интерфейс сервиса состоит всего лишь из пары вкладок, которые содержат весь необходимый инструментарий. Необходимо выбрать тип информации, которую будет отображать код — это может быть путь к сайту, контакты или ссылка на профиль в социальной сети.
В примере ниже это ссылка на сайт клуба DNS. Остается выбрать рамку, форму и цвет QR-кода. Нажимаем кнопку скачивания и ждем окончания процесса. В код также можно встроить свой собственный логотип, но для этого потребуется регистрация на сервисе.
Открываем сгенерированный файл и сканируем код привычным способом. На экране появится кнопка для перехода на сайт — это заданный нами ранее клуб DNS.
The QR Code Generator
Функционал этого сервиса скромнее рассмотренного ранее, и он подойдет тем, кому нужно создать QR-код быстро и просто. Интерфейс сайта интуитивно понятен, а на выбор пользователю предоставлены основные виды информации, которые можно зашифровать в код.
Попробуем «скрыть» в коде обычный текст. Для этого выбираем вкладку «Free text» и задаем, к примеру, Клуб DNS. Кликнув по иконке опций можно выбрать размер сохраняемого файла в пикселях. Остается сохранить файл, задав ему имя и формат.
После сканирования кода на экране появится зашифрованный в QR-код текст. В данном случае это Клуб DNS.
Вне зависимости от метода создания QR-кода его можно распечатать на разнообразных поверхностях. Кроме различной полиграфии это может быть одежда или любая другая поверхность. Главный критерий — хорошая «читаемость», то есть распознавание кода.
Читаем QR код
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.
В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.
Иллюстраций: 14, символов: 8 510.
Для тех, кто не в курсе что такое QR код, есть неплохая статья в английской Wikipedia. Также можно почитать тематический блог на Хабре и несколько хороших статей по смежной тематике, которые можно найти поиском.
Решение задачи непосредственного чтения информации с QR-картинки рассмотрим на примере двух кодов. Информация была закодирована в online-генераторе QR Coder.ru.
Чтобы понять, как извлечь данные из кода, нужно разобраться в алгоритме. Существует несколько стандартов в семействе QR кодов, с их базовыми принципами можно ознакомиться в спецификациях. Кратко поясню: данные, которые необходимо закодировать, разбиваются на блоки в зависимости от режима кодирования. К разбитым по блокам данным прибавляется заголовок, указывающий на режим и количество блоков. Существуют и такие режимы, в которых используется более сложная структура размещения информации. Данные режимы рассматривать не будем ввиду того, что извлекать вручную из них информацию нецелесообразно. Однако, основываясь на тех принципах, которые описаны ниже, можно адаптироваться и к этим режимам.
По стандарту, данные с 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) получаем информацию.
Возможные уровни коррекции ошибок:
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-х битный заголовок, который содержит в себе информацию о режиме. Специфика чтения данных изображена на картинке:
Список возможных режимов:
ECI | 0111 |
Числовые | 0001 |
Буквенно-числовые | 0010 |
8-битный (байтный) | 0100 |
Kanji | 1000 |
Структурированное дополнение | 0011 |
FNC1 | 0101 (1-я позиция) 1001 (2-я позиция) |
Шаг 4. Применение маски к заголовку
После извлечения 4-х бит, описывающих режим, необходимо к ним применить маску.
В нашем случае для двух кодов используются разные маски. Маска определяется выражением, приведённым в таблице выше. Если данное выражение сводится к TRUE (верное) для бита с координатами (i,j), то бит инвертируется, иначе всё остаётся без изменений. Начало координат в левом верхнем углу (0,0). Взглянув на выражения, можно заметить в них закономерности. Для рассматриваемых QR кодов, маски будут выглядеть так:
Шаг 5. Чтение данных
После получения данных о режиме можно приступать к чтению информации. Надо оговорить, что наиболее интересно считывать числовые и буквенно-числовые данные, так как они легко интерпретируются. Но также не стоит бояться 8-битных. Это может быть также легко интерпретируемая информация. Например, многие онлайн генераторы QR текст кодируют в этом режиме, используя ASCII. Ещё одна причина, почему следует изначально прочитать режим, это то, что от него зависит количество пакетов данных. Которая также зависит и от версии кода. Для версий с первой по девятую длины блоков для более читабельных режимов:
Числовые | 10 бит / 4 бита |
Буквенно-числовые | 9 бит |
8-битный (байтный) | 8 бит |
Первый блок после указателя режима — это количество символов. Для числового режима количество закодировано в 10 следующих битах, а для 8-битного режима в 8 битах (прошу прощения за тавтологию).
На рисунке видно, что в левом QR коде, как и отмечалось, записана цифра 5. Это видно по указателю количества символов и последующим после него 4 битам. В числовом режиме наряду с 10-битными блоками используются 4-х битные блоки для экономии места, если в 10-битном объёме нет необходимости. В правом коде зашифровано 4 символа. На данный момент неизвестно что зашифровано в нём. Поэтому необходимо перейти к чтению следующего столбца для извлечения всех 4-х блоков информации.
На рисунке видно, все 4 пакета представляют собой коды ASCII латинских букв, образующие слово «habr»
Естественно наилучшим способом остаётся достать телефон из кармана и, наведя камеру на QR-картинку, считать всю информацию. Однако в экстренных случаях может пригодиться и описанная методика. Конечно, в голове не удержишь все указатели режимов и типов масок, а также ASCII символы, но популярные комбинации запомнить (хотя бы те, что рассмотрены в статье) под силу.