Как расшифровывается кот. Онлайн-сканирование QR-кодов. Платежи по QR-коду

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

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

Все что для этого требуется это сам мобильный девайс (планшет, смартфон, плеер, в общем, об этом детальнее — на stylus.com.ua), желательно с качественной камерой, и хорошее мобильное приложение для сканирования и чтения QR- и штрих-кодов.

Плюс некоторое умение правильно обращаться с эти весьма полезным в наше время мобильным софтом.

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

Вот о них и расскажем чуть подробнее. Итак

Как читать QR-коды с помощью Android-смартфона (или планшета)

ШАГ 1
Заходим на Google Play и скачиваем бесплатное приложение QR Code Reader . Размер файла примерно 3MB в зависимости от модели смартфона.

ШАГ 2
Устанавливаем и открываем программу. Далее просто наводим объектив основной камеры смартфона на любой QR-код (либо просто открываем через этот ридер готовую фотографию с кодом), все остальное приложение сделает само.

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

Как читать штрих-коды с помощью Android-смартфона (или планшета)

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

ШАГ 1
Качаем (тоже бесплатно и тоже с Google Play) приложение ShopSavvy . Размер его меньше 1 мегабайта

ШАГ 2
Программка попросит вас зарегистрироваться на сайте ShopSavvy. Однако эта процедура не является обязательной. Потому можем потратить пару минут на создание эккаунта, а можем обойтись без этого. Работаем приложение тоже просто. Открываем, жмем кнопку сканера в правом верхнем углу экрана, наводим камеру смартфона на штрих-код и потом читаем полученную информацию.


Иногда возникают такие ситуации, когда нужно прочитать 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)
  • 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-код, прочитать который умеет не каждый. Подобного рода шифровки можно найти абсолютно везде: на упаковках продуктов, на коробках бытовой и любой другой техники, в буклетах, брошюрах, газетах. В общем, ни одна информация, поданная в том или ином виде, не обходится без 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 означает «quick response», что в переводе с английского — «быстрый отклик».

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

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

QR-код — взгляд в историю

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

Начались эксперименты с другими способами кодирования данных в графической картинке. В итоге в 1994 г. компания «Denso-Wave» (Япония) разработала QR-код. 10 лет назад в Японии QR-коды уже можно было увидеть на большом количестве товаров, упаковок и плакатов. Сегодня их размещают практически на всех товарах, в справочниках, буклетах. Быстрыми темпами развивается использование QR-кодов в Америке и Европе.

Как читать «квадратики»?

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

Для распознавания QR кода существует ряд программ. Для Android устройств наиболее популярной является Barcode Scanner. Телефоны с новыми версиями прошивок уже содержат ее. Если же у вас этого приложения нет, вы можете скачать его в Android Market.

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

Можно ли самостоятельно создать QR-код?

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