Типы кодирования штрих-кодов в поле "barcode" для реестра билетов по Пушкинской карте
Штриховой код (штрихкод) — графическая информация, наносимая на поверхность, маркировку или упаковку изделий, предоставляющая возможность считывания её техническими средствами — последовательность чёрных и белых полос, либо других геометрических фигур.
Наша компания Цифровая фабрика, по одному из заказов, работала по программированию и настройке передачи данных в билетный реестр из существующего интернет магазина. Это материалы собранные к данному проекту.
Aztec Code
Двумерный матричный штрихкод. Разработан в 1995 году доктором Andrew Longacre, Jr., исследователем из фирмы Welch Allyn Inc. (позже Hand Held Products Inc., сейчас Honeywell Imaging and Mobility). Код был опубликован фирмой AIM International в 1997 году, и хотя на код был получен патент, он был передан в общественное достояние.
Кодирование
Построение происходит на квадратной регулярной сетке.
На иллюстрации показаны области полной версии Aztec Code.
Красным и чёрным цветом обозначены калибровочные элементы: мишень из концентрических квадратов в центре и пунктирные прямые для дополнительной навигации по шифру. Структура этих областей неизменна и положение остальных областей при считывании вычисляется относительно них. Количество пунктирных прямых может меняться в зависимости от размера используемого символа.
Зелёным цветом обозначены области для хранения служебной информации, всего 40 бит: по одному десятибитовому блоку на каждой из четырёх сторон.
Голубым и синим цветами обозначены слои хранения данных, радиально расходящиеся от центра. Тёмная точка в этой области кодирует логическую единицу, светлая — логический ноль, данные в каждом слое записываются по спирали по часовой стрелке, на иллюстрации тонкой линией слева сверху каждого слоя показано его начало.
Благодаря навигационным маркерам код не зависит от пространственной ориентации, и может быть считан не только при любом угле поворота, но и даже при зеркальном отражении рисунка.
Размер кода может варьироваться от квадрата 15x15 до квадрата 151x151. Наименьший может содержать в себе до 13 цифр или 12 букв английского алфавита, а наибольший — 3832 цифр или 3067 букв английского алфавита или 1914 байт данных. При этом не требуется пустого пространства вокруг рисунка кода.
Набор символов
- Данные кодируются побайтно и по умолчанию интерпретируются следующим образом:
- для 0 — 127, ANSI X3.4 (то есть ASCII)
- для 128—255, ISO 8859-1 (алфавит для западноевропейских языков)
Это относится к ECI 000003. - Для совместимости с существующими системами могут быть добавлены два служебных символа, FNC1 и ECI
Особенности
- Наличие особой системы разметки, мишени, также называемой Bullseye, позволяет считывать информацию даже с искажённого изображения. Например, повёрнутого или растянутого.
- В коде применяется кодирование Рида-Соломона, позволяющее успешно считывать код при частичном повреждении его поверхности. Стандартный уровень избыточности при кодировании 23 %, при этом его можно изменять от 5 % до 95 %.
- Радиальное расположение слоёв информации позволяет увеличивать объём хранящейся информации, просто расширяя область кодирования.
Происхождение названия
Название «Aztec Code» схема получила на ранних этапах разработки из-за внешнего сходства с классической символикой в искусстве коренных жителей Центральной Америки.
Использование
Транспорт
Железные дороги
- Штрихкоды Aztec Code используются железнодорожными операторами Deutsche Bahn, Trenitalia, Nederlandse Spoorwegen и Swiss Federal Railways для билетов, продаваемых онлайн и распечатываемых клиентами. Штрихкоды Aztec Code используются железнодорожными операторами Heathrow Express и National Express East Coast, в качестве электронных билетов, которые доставляются на мобильные телефоны и показываются с их экранов, а также для самостоятельного распечатывания.
- Штрихкоды сканируются ручным сканером при проверке билетов контролёром.
- Штрихкоды Aztec Code с 2016 года начало использовать на одноразовых билетах ОАО «Центральная ППК», осуществляющее пригородное железнодорожное сообщение в московском регионе.
Авиалинии
- Aztec Code был выбран международной ассоциацией воздушного транспорта для электронных билетов (стандарт BCBP IATA).
- Некоторые авиакомпании (в частности, российская S7 Airlines) отправляют штрихкоды Aztec Code на мобильные телефоны пассажиров в качестве электронных (или безбумажных) билетов.
- Авиакомпания Air New Zealand будет использовать Aztec Code для билетов внутри страны, но внедрение этой системы ещё в процессе.
Правительственные документы
- Польские регистрационные документы на автомобили содержат в себе штрихкод Aztec Code для автоматизированного распознавания данных. Проводится работа со страховыми компаниями для того, чтобы они автоматически заполняли соответствующие поля заключаемого контракта, распознавая штрихкод с цифровой фотографии документа.
PDF417
PDF417 (англ. Portable Data File — переносимый файл данных) — двумерный штрихкод, поддерживающий кодирование до 2710 знаков. PDF417 был разработан и введён в 1991 году фирмой Symbol Technologies. В настоящее время PDF417 широко применяется в идентификации личности, учёте товаров, при сдаче отчётности в контролирующие органы и других областях. Формат PDF417 открыт для общего использования.
Формат
PDF417 может содержать до 90 строк. Каждая строка состоит из:
- стартового и стопового шаблона. Они характеризуют штрихкод как PDF417.
- набора ключевых слов (КС):
- левый и правый индикаторы — содержат информацию о номере строки, количестве строк и столбцов, уровне коррекции ошибок;
- до 30 КС данных, содержащих как непосредственно данные, так и информацию для восстановления повреждённых КС.
Каждое КС состоит из 4 штрихов и 4 пробелов, ширина КС в 17 раз больше минимального штриха или пробела — отсюда числовой суффикс в обозначении формата PDF417.
PDF417 поддерживает три типа данных: текст (ASCII), байты и числа.
PDF417 предусматривает полиномиальное кодирование Рида-Соломона дополнительных данных для восстановления информации. Количество дополнительных КС зависит от уровня коррекции ошибок.
Фармакод
Фармакод, также известный как Фармацевтической двоичный код, является стандартом штрихового кода, используемый в фармацевтической промышленности в качестве системы контроля упаковок. Он может быть читаемым, даже несмотря на ошибки при печати. Фармакоды могут быть напечатаны в нескольких цветах, чтобы убедиться, что оставшаяся часть упаковки (которую фармацевтическая компания должна печатать, чтобы защитить себя от юридической ответственности) правильно напечатана.
Кодирование
Фармакод может представляться только одним целым числом от 1 до 131 070. В отличие от других широко используемых линейных штриховых кодов, фармакод не хранит данные в виде, соответствующем возможности понимания человеком цифр, число кодируется в двоичном формате. Фармакод читается сканером справа налево и слева направо (если сканер всенаправленный): каждая узкая полоса обозначает ноль в двоичном коде и каждая широкая полоса обозначает единицу. Минимальная длина штрихкода — 1 узкая полоса и максимальная — 16 широких, так что наименьшее число, которое может быть закодировано — это 1 (1 узкая полоса) и самое большое — 131070 (16 широких полос). Фармакоды представляются цветами, которые доминируют на упаковке.
Алгоритм кодирования
- К числу, необходимому для кодирования, необходимо прибавить единицу (пример: 69 + 1 = 70)
- Необходимо перевести число в двоичный формат (7010 = 10001102)
- «Вычеркнуть» единицу, стоящую впереди всех остальных чисел (
1000110 → 000110) - Преобразовать число в линейный код, заменяя нули узкими полосками, а единицы — широкими (000110 → IIIIII)
Алгоритм декодирования
- Заменить узкие и широкие полоски числами (IIIIIII → 0110010)
- Поставить единицу спереди этого числа (10110010)
- Выполнить перевод этого двоичного числа в десятичное (101100102 → 17810)
- Вычесть из полученного числа единицу (178 — 1 = 177)
Источник:
https://ru.wikipedia.org/