Распознание кода. Как cчитать QR-код: все способы


В прошлом остались те времена, когда на наших товарах не было штрих-кодов. Сейчас они есть практически везде. Но для многих из нас они так и остаются набором цифр и полосок. А ведь штрих-код - это закодированная информация о товаре. И иногда бывает, ой, как полезно уметь её расшифровывать. interesbook.ru ! подготовил для тебя информацию о том, как разбираться в штрих-кодах. Такое обязательно пригодится!
Штрих-код - изображение, которое наносится с целью автоматизации учета информации о товарах, позволяющей их идентифицировать, а также уменьшить время на обработку данных. Его ставят на транспортную и потребительскую упаковку.
В нашей стране самыми распространенными штриховыми кодами являются JEAN-13 из 13 цифр и EAN-8 из 8 цифр.
Код EAN-13 представлен на рис. 11.25.
Код страны местонахождения банка данных о штрихкоде указывается двумя или тремя цифрами. Коды некоторых стран представлены в табл. 11.1.

Рис. 11.25. Расшифровка штрих-кода EAN-13:
  • код страны местонахождения банка данных о штрих-коде;
  • код изготовителя;
  • код товара;
  • контрольное число.

Принцип штрихового кодирования

Принцип штрихового кодирования - кодирование алфавитно-цифровых символов в виде чередования черных и светлых полос различной ширины (штрихов и пробелов), считывание с помощью сканирующего устройства, которое расшифровывает коды и передает информацию на ЭВМ. ШК - одно из наиболее распространенных средств автоматической идентификации. Расшифровка кодов осуществляется сканирующими устройствами. Коды Европейской ассоциации товарной нумерации (EAN) состоят из 13 цифр (иногда - из 8 для малых размеров упаковки).
Первые 2 (3) цифры означают код страны-изготовителя (Великобритания - 50, Испания - 84, Германия - 400-440, Россия - 460-469, Китай - 690, Беларусь - 481).
Следующие пять цифр (3-5 или 3-7) - код предприятия-изготовителя присваивает централизованно национальный орган страны конкретной организации-изготовителю.
Следующие пять (6-7 или 8-12) - код товара, присваивается организацией-изготовителем или продавцом самостоятельно в виде регистрационного номера в пределах своего предприятия. В этих цифрах изготовитель может закодировать необходимые для идентификации данные: наименование, сорт, артикул, цвет, массу, размер и др.
Последняя цифра - контрольная, предназначенная для считывания штрих-кода сканером по алгоритму EAN. Контрольное число находят путем определенной последовательности арифметических действий.
За единицу ширины штриха принимается модуль - самый узкий штрих или пробел шириной 0,33 мм. Каждая цифра кодируется семью модулями, которые сгруппированы в два штриха и два пробела. Например, цифра 4 представлена как 1011100. Ширина штрихов и пробелов - от одного до трех модулей.
Информацию о коде несут также ширина штрихов, пробелов и их сочетание. Номинальный размер символа EAN-13 от первого до последнего штриха - 31,35 мм. Вокруг кода должно быть пустое пространство, так что номинальная ширина составляет 37,29 мм. В начале и конце ШК помещены удлиненные краевые штрихи, указывающие на начало и конец сканирования.

Функции штрих-кода

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

Проверка штрих-кода

Последняя цифра - контрольное число, которое может быть посчитано, а правильность его нанесения проверена по следующему алгоритму:
1. Присваивают цифрам в штриховом коле места с 1-го ло 12-го, исключая контрольную цифру (рис. 11.26);

Рис. 11.26. Присвоение места с 1-го до 12-го в штрих-коде
2. Складывают цифры, находящиеся на четных местах, и полученную сумму умножают на 3. Например: 6 + 7 + 0 + 5 + 0 + + 1 = 19; 19×3 = 57;
3. Складывают цифры, находящиеся на нечетных местах. Например: 4+0+0+9+2+0= 15;
4. Складывают результаты, полученные в п. 2 и п. 3, и получают двух- или трехзначное число. Например: 15 +97 =112;
5. Оставляют у полученной итоговой суммы лишь число, находящееся на последнем месте. Например: 2;
6. Вычитают из 10 полученное число. Полученная разность и есть контрольное число, которое должно совпадать с тем, что указано в штриховом коде. Например: 10 - 2 = 8.
Код EAN-8 представлен на рис. 11.27.

Рис. 11.27. Расшифровка штрих-кода EAN-8:
  • код страны;
  • код изготовителя;
  • контрольное число.

Коды стран местонахождения баз данных о штрихкоде

Штрих-код Страна Штрих-код Страна Штрих-код Страна
00-09 США и Канада 54 Бельгия и Люксембург 779 Аргентина
30-37 Франция 560 Португалия 780 Чили
380 Болгария 569 Исландия 786 Эквадор
383 Словения 57 Дания 789 Бразилия
385 Хорватия 590 Польша 80-83 Италия
400-440 Германия 599 Венгрия 84 Испания
460-469 Россия и СНГ 600-601 ЮАР 850 Куба
471 Тайвань 611 Марокко 858 Словакия
474 Эстония 613 Алжир 859 Чехия
475 Латвия 619 Тунис 860 Югославия
477 Литва 94 Новая Зеландия 869 Турция
482 Украина 64 Финляндия 87 Нидерланды
484 Молдова 690 КНР 880 Южная Корея
489 Гонконг 70 Норвегия 885 Таиланд
45 и 49 Япония 729 Израиль 888 Сингапур
50 Великобритания 73 Швеция 890 Индия
520 Греиия 750 Мексика 893 Вьетнам
529 Кипр 759 Венесуэла 90-91 Австрия
535 Мальта 76 Швейцария 93 Австралия
539 Ирландия 770 Колумбия 955 Малайзия

Считывание штрих-кода

Для считывания штрих-кода применяют:
  • стационарные и портативные лазерные сканеры , позволяющие считывать штрих-код на различных расстояниях от товара - от 60 см до 5-6 м;
  • кассовые сканеры, оснащенные системами считывания ШК: оптические контактные считыватели в виде ручек, карандашей, лазерных пистолетов и т.д.
Наиболее простыми и доступными устройствами для считывания штрих-кода являются считывающие карандаши, но их можно использовать тогда, когда оператор может провести карандашом по этикетке. В небольших магазинах их можно применять, а на крупных складах или в супермаркетах это нецелесообразно.
Кассовый сканер D-500 предназначен для применения в кассовых аппаратах супермаркетов. Быстрое считывание кода на расстоянии при произвольной ориентации этикетки достигается многолучевым сканированием, что обеспечивает высокую производительность обслуживания покупателей. Встроенный декодер настраивается на все известные системы кодирования товаров. Из-за высокой стоимости применение этого устройства экономически целесообразно только в крупных магазинах с большим потоком покупателей и товарооборотом.
Сканирующее устройство передает информацию о реализации конкретного товара на ЭВМ, где хранится информация о запасах его в торговом зале и на складе. Если запас меньше допустимых нормативов, то через средства электронной связи передается сигнал о необходимости пополнения товара на складе. Сканеры, установленные на складе, осуществляют автоматизированную идентификацию необходимого товара, и с помощью специальных устройств товар транспортируется в торговый зал.
Штрих-код позволяет распознавать информационную фальсификацию, сопровождающую обычно другие виды подделок.
Штрих-код наносится на транспортную или потребительскую упаковку многих импортных и отечественных товаров типографским способом или с помощью этикетки или ярлыка, которые приклеиваются. Штриховой код должен наноситься на заднюю стенку упаковки в правом нижнем углу на расстоянии не менее 20 мм от краев. Допускается нанесение на боковую стенку упаковки, на этикетку в правом нижнем углу. На мягких упаковках выбирают место, где штрихи будут параллельны дну упаковки. Штрих-код не должен размешаться там, где уже есть другие элементы маркировки (текст, рисунки, перфорация).
Поделитесь этим материалом со своими друзьями, пожалуйста, как нам кажется, им будет тоже интересно узнать что-то новое о мире вокруг нас.

Все чаще на упаковках, товарах и страницах в Интернете мы видим черно-белые квадраты, отдаленно напоминающие знакомые с детства штрих-коды, которые размешаются практически на всех упаковках. Это и есть видоизмененные штрих-коды, которые называются 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-код готов.

  • 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-кодов является использование смартфона, на котором установлено специальное приложение.

  • На Windows Phone даже не нужно загружать дополнительные программы. Такие смартфоны по умолчанию декодируют не только QR-коды, но также EAN и все остальные штрих-коды. Кроме того, Windows Phone умеет сканировать тексты.
  • Чтобы считывать QR-коды с помощью iPhone, нужно установить отдельное приложение. Например, бесплатный сканер QR Code — Barcode Scanner Free.
  • Для Android-смартфонов подойдет QR Code Reader , который можно скачать в Google Play.

Как читать QR-коды на ПК с ОС Windows

Как считывать QR-коды на компьютере или ноутбуке, подробно описано . Здесь для сканирования штрих-кода вам понадобится веб-камера.

Как расшифровать QR-код вручную

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

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

Шаги

Расшифровка шифров замещения

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

    • Слова из одной буквы в русском языке - это местоимения и предлоги (я, в, у, о, а). Чтобы найти их, придется внимательно изучить текст. Угадывайте, проверяйте, закрепляйте или пробуйте новые варианты - иного метода разгадки шифра нет.
    • Вы должны научиться читать шифр. Взламывать его - это не столь важно. Учитесь выхватывать шаблоны и правила, лежащие в основе шифра, и тогда его взлом не будет представлять для вас принципиальной сложности.
  1. Ищите наиболее часто употребляемые символы и буквы. К примеру, в английском языке такими являются “e”, “t” и “a”. Работая с шифром, используйте свое знание языка и структуры предложений, на основе чего делайте гипотезы и предположения. Да, на все 100% вы редко будете уверены, но разгадывание шифров - это игра, где от вас требуется делать догадки и исправлять собственные ошибки!

    • Двойные символы и короткие слова ищите в первую очередь, старайтесь начать расшифровку именно с них. Легче, как никак, работать с двумя буквами, чем с 7-10.
  2. Обращайте внимание на апострофы и символы вокруг. Если в тексте есть апострофы, то вам повезло! Так, в случае английского языка, использование апострофа означает, что после зашифрованы такие знаки, как s, t, d, m, ll или re. Соответственно, если после апострофа идут два одинаковых символа, то это наверняка L!

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

    • Цифровая замена и клавиатурные шифры в наши дни распространены более всего. Работая над шифром, первым делом проверяйте, не такого ли он типа.

    Распознавание обычных шифров

    1. Шифры замещения. Строго говоря, шифры замещения кодируют сообщение, замещая одни буквы другими, согласно заранее определенному алгоритму. Алгоритм - и есть ключ к разгадке шифра, если разгадать его, то и раскодировать сообщение проблемы не составит.

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

      Шифр Цезаря. Цезарь умел не только делать три дела одновременно, он еще и понимал в шифровании. Цезарь создал хороший, простой, понятный и, в то же время, устойчивый ко взлому шифр, который в его честь и назвали. Шифр Цезаря - это первый шаг на пути к изучению сложных кодов и шифров. Суть шифра Цезаря в том, что все символы алфавита сдвигаются в одну сторону на определенное количество символов. Например, сдвиг на 3 символа влево будет менять А на Д, Б на Е и т.д.

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

      • Так, меняя колонки на одну позицию вверх, “wikihow” превращается в “28i8y92”.
      • Полиалфавитные шифры. Простые замещающие шифры опираются на создание шифрующим своего рода алфавита для шифрования. Но уже в Средние века это стало слишком ненадежно, слишком просто для взлома. Тогда криптография сделала шаг вперед и стала сложнее, начав использовать для шифрования символы сразу нескольких алфавитов. Что и говорить, надежность шифрования сразу повысилась.

    Что значит быть дешифровальщиком

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