что включает в себя штрих код товара

Справочная информация на «Добро ЕСТЬ!»

что включает в себя штрих код товараШтриховой код (штрихкод) — это последовательность черных и белых полос, представляющая некоторую информацию в виде, удобном для считывания техническими средствами. Информация, содержащаяся в коде может быть напечатана в читаемом виде под кодом (расшифровка).

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

В мировой практике торговли принято использование штрихкодов символики EAN для маркировки товаров. В соответствии с принятым порядком, производитель товара наносит на него штриховой код, формируемый с использованием данных о стране местонахождения производителя и кода производителя. Код производителя присваивается региональным отделением международной организации EAN International. Такой порядок регистрации позволяет исключить возможность появления двух различных товаров с одинаковыми кодами.

История изобретения штрихкода

В 1948 году Бернард Сильвер (Bernard Silver) (1924—1962), аспирант Института Технологии Университета Дрекселя (Drexel University) в Филадельфии, услышал, как президент местной продовольственной сети просил одного из деканов разработать систему, автоматически считывающую информацию о продукте при его контроле. Сильвер рассказал об этом друзьям — Норману Джозефу Вудланду (Norman Joseph Woodland) (род. 1921) и Джордину Джохэнсону (Jordin Johanson). Втроём они начали исследовать различные системы маркировки. Их первая работающая система использовала ультрафиолетовые чернила, но они были довольно дороги, а кроме того, со временем исчезали.

Убеждённый в том, что система реализуема, Вудланд покинул Филадельфию и перебрался во Флориду в апартаменты своего отца для продолжения работы. Его следующее вдохновение неожиданно дала Азбука Морзе — он сформировал свой первый штриховой код из песка на берегу. Как он сам сказал: «Я только расширил точки и тире вниз и сделал из них узкие и широкие линии». Чтобы прочитать штрихи, он приспособил технологию саундтрек (звуковой дорожки), а именно оптический саундтрек, используемую для записи звука в кинофильмах. 20 октября 1949 года Вудланд и Сильвер подали заявку на изобретение. В результате ими был получен патент США № 2 612 994, изданный 7 октября 1952.

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

В 1952 году Вудланд и Сильвер продали патент компании Филко (Philco — в дальнейшем известна как Helios Electric Company). В том же самом году Филко перепродала патент компании RCA.

Виды штрихкода

Существуют различные способы кодирования информации, называемые (штрихкодовыми кодировками или символиками). Различают линейные и двухмерные символики штрихкодов.

Линейными (обычными) в отличие от двухмерных называются штрихкоды, читаемые в одном направлении (по горизонтали). Наиболее распространненые линейные символики: EAN, UPC, Code39, Code128, Codabar, Interleaved 2 of 5. Линейные символики позоволяют кодировать небольшой объем информации (до 20-30 символов — обычно цифр) с помощью несложных штрихкодов, читаемых недорогими сканерами. Пример кода символики EAN-13:

что включает в себя штрих код товара

В некоторых странах, например в Японии, можно встретить штрихкод в несколько необычном виде, но суть значения кода от этого не меняется:

что включает в себя штрих код товара

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

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

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

Расшифровка штрихкода

C помощью штрихового кода зашифрована информация о некоторых наиболее существенных параметрах продукции. Наиболее распространены американский Универсальный товарный код UPC и Европейская система кодирования EAN. Наиболее распространенны EAN/UCC товарные номера EAN-13, EAN-8, UPC-A, UPC-E и 14-разрядный код транспортной упаковки ITF-14. Так же существует 128 разрядная система UCC/EAN-128. Согласно той или иной системе, каждому виду изделия присваивается свой номер, состоящий чаще всего из 13 цифр (EAN-13).

Возьмем, к примеру, цифровой код: 4820024700016. Первые две цифры (482) означают страну происхождения (изготовителя или продавца) продукта, следующие 4 или 5 в зависимости от длинны кода страны (0024) — предприятие-изготовитель, еще пять (70001) — наименование товара, его потребительские свойства, размеры, массу, цвет. Последняя цифра (6) контрольная, используемая для проверки правильности считывания штрихов сканером. EAN — 13:

что включает в себя штрих код товара

Для кода товара:
1 цифра: наименование товара,
2 цифра: потребительские свойства,
3 цифра: размеры, масса,
4 цифра: ингредиенты,
5 цифра: цвет.

Пример вычисления контрольной цифры для определения подлинности товара

1. Сложить цифры, стоящие на четных местах:
8+0+2+7+0+1=18

2. Полученную сумму умножить на 3:
18×3=54

3. Сложить цифры, стоящие на нечетных местах, без контрольной цифры:
4+2+0+4+0+0=10

4. Сложить числа, указанные в пунктах 2 и 3:
54+10=64

5. Отбросить десятки:
получим 4

6. Из 10 вычесть полученное в пункте 5:
10-4=6

Если полученная после расчета цифра не совпадает с контрольной цифрой в штрих-коде, это значит, что товар произведен незаконно.

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

Как правило, код страны присваивается Международной ассоциацией EAN. Обращаем внимание потребителей на то, что код странны никогда не состоит из одной цифры.

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

Первая: фирма была зарегистрирована и получила код не в своей стране, а в той, куда направлен основной экспорт ее продукции.

Вторая: товар был изготовлен на дочернем предприятии.

Третья: возможно, товар был изготовлен в одной стране, но по лицензии фирмы из другой страны.

Четвертая — когда учредителями предприятия становятся несколько фирм из различных государств.

Таблица соответствия штрихкодов стран в системе «EAN»

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

Теги: штрих код, штрих кода, штрихкод, коды штрих кодов, штрихкоды, штрих коды страны, штрих коды стран, штрих коды государств, страна по штрих коду, расшифровка штрих кода, штрих коды производителей, штрих коды изготовителей, штрих код страна производитель, штрих код расшифровка, штриховой код, чтение штрих кода, штрих код товара, штрих коды товаров, страна производитель по штрих коду, картинка штрих кода, чтение штрих кодов, страна изготовитель по штрих коду, штрих код Украина, таблица штрих кодов, штрих код изготовителя, значение штрих кода, фото штрих кода, узнать производителя по штрих коду, определить страну по штрих коду, что означает штрих код, штрих код России, штрих код Франции, штрих код Италии, штрих код Китая, таблица штрих кодов стран, обозначение штрих кода, определение товара по штрих коду, как узнать страну по штрих коду, справочник штрих кодов

Источник

Что такое штрих-код.

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

Кстати, на нашем сайте вы можете cгенерировать штрих код по цифровому коду товара, воспользовавшись Генератором штрих кодов онлайн.

В РФ получили популярность штрих-коды именуемые JEAN-13 и EAN-8. Первый из них состоит из 13 цифр, второй – соответственно из 8.

То как выглядит код EAN-13.

что включает в себя штрих код товара

На чем основано штриховое кодирование: Чтобы понять, что такое штрих-код, надо обратить внимание на чередующиеся черные и светлые полосы с различной шириной (штрихи и пробелы). Предназначены они для сканера, цель которого – расшифровать заложенную в эти штрихи и пробелы информацию и передать её на ПК. В современном мире, штриховое кодирование – одно из самых часто встречающихся средств для определения товара в автоматическом режиме. EAN – это метод шифрования, который приняла Европейская ассоциация товарной нумерации. Если упаковка маленькая, то в таком коде 8 цифр, в стандартной и большой упаковке – 13 цифр.

Более подробно об этих цифрах: Первые 2 или 3 цифры указывают страну, в которой был произведен товар. К примеру, 30 – это Франция, 520 – Греция, от 460 до 469 – Россия, 482 – Украина и т.д).

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

Стоящие следом 5 цифр – это тот код товара, даваемый ему самим производителем. Это независимый рег. номер, в рамках изготавливающего предприятия. Здесь сама компания кодирует данные, которые помогут идентифицировать эту единицу товара (его название, массу, размер, другие параметры)

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

что включает в себя штрих код товара

В ширине штрихов и пробелов, в разнообразии их последовательностей также содержатся данные об уникальном коде. Так, к примеру, принятая для EAN-13 ширина всего кодового поля 37.29 мм, но пространство, занимаемое непосредственно штрихами и пробелами – 31.35 мм., т.к. вокруг них должно быть свободное пространство. По краям штрих-кода можно заметить чуть более длинные краевые штрихи – они дают сканеру понять, где начинать и где заканчивать работу.

Возможности штрих-кода.

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

Как проверять штрих-код.

Стоящая в самом конце цифра — именуется контрольным числом, а правильность его нанесения проверяется по алгоритму.

Перед вами представлен код EAN-8.

что включает в себя штрих код товара

Вот как расшифровывается код EAN-8

Инструменты, с помощью которых считывают штрих-код:

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

В супермаркетах актуален кассовый сканер. Он хорош тем, что пространственное положение товара, равно как и расстояние до него не важны. Многолучевое сканирование даёт скорость, точность, а значит и удобство для покупателей. В такой установленный на кассе сканер встроен декодер, который сразу распознает, какая именно система кодирования применяется. Устройство это достаточно дорогое, поэтому и не является рентабельным для маленьких магазинчиков, зато в супермаркетах применяется повсеместно.

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

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

Штрих-коды наносят как в типографиях, так и наклеивают их в виде ярлыка. Размещают штрих-код как на заднюю стенку упаковки, так и на боковые стенки. Он должен располагаться в правом-нижнем углу, минимальное расстояние от краёв – 20 мм. Штрих-код не должен заслонять другую информацию на упаковке (текстовую, графическую и т.д.)

Источник

Малоизвестные факты о штрихкодах — загадочные цифры под штрихкодом

Число зверя, штрихи смерти — насколько все это реально? Можно ли зашить в штрихкод видеоролик или фото голой Эммы Уотсон? Бывают ли “неправильные штрихкоды”, и что вообще значит “неправильный штрихкод”?

В “Клеверенсе” мы разрабатываем платформу Mobile SMARTS для создания мобильных решений по учету маркированного товара и постоянно сталкиваемся с детскими ошибками в маркировке. Обычно они вызваны простым нежеланием людей хоть немного разбираться в теме.

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

Сначала для затравки расскажем про кассовый штрихкод, а затем про загадочный GS1 DataMatrix, который используется в проекте тотальной маркировки товаров.

Сама статья больше развлекательная, всё изложенное при желании легко гуглится, но может и побудить кого-то изучить тему глубже.

Загадочные цифры под штрихкодом

что включает в себя штрих код товара

Цифры под штрихкодом — что это такое? Знающие люди говорят, что тут всё просто: именно эти цифры “зашиты” в штрихкод. Девушка на кассе вбивает в программу цифры под штрихкодом — и вуаля — товар найден.

К сожалению, это заблуждение. Цифры под штрихкодом не “зашиты” в штрихкод. Для разговоров у камина сойдет, а для айтишника беда.

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

Надписи под штрихкодом называются Human readable interpretation (HRI). Одно только название уже должно наводить на мысль, что тут не всё в порядке.

Рассмотрим подробнее, где тут собака зарыта.

Кассовый штрихкод

Пример про кассовый штрихкод — для затравки. Он на самом деле не вызывает никаких проблем, потому что за 50 лет использования в софте и оборудовании были вставлены 1000 костылей, чтобы обойти все проблемы (ну почти). Зато он хорошо иллюстрирует вопрос.

Вот в этих двух штрихкодах (EAN-13) ниже, под которыми написано “4601200000003” и “0123456789128”, в обоих нет штрихов для первой цифры. В первом штрихкоде нет штрихов для “4” (она закодирована другим способом), а во втором штрихкоде вообще в принципе нет лидирующего нуля, хотя он и напечатан под штрихкодом.

что включает в себя штрих код товарачто включает в себя штрих код товара

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

Рассмотрим поближе, что тут происходит.

В первом приведенном штрихкоде (“4601200000003”) в начале идут две длинные полосочки, они кодируют “начало штрихкода”, далее идут штрихи и пропуски для цифры “6”, затем про цифры “0”, “1”, “2”, “0” и “0”, две длинные полосочки в центре говорят про середину, затем пять одинаковых групп штрихов и пропусков кодируют “00000”, далее идут штрихи и пропуски для цифры “3” и завершающие две длинные полоски про конец штрихкода. Итого, в штрихкоде есть штрихи только про “601200000003”. Цифра “3” (последняя) в полосках штрихкода есть, а первой “4” нет! Откуда же взялась “4”?

Дело в том, что “4” закодирована грязным хаком. Для неё не хватает места, и вообще всё это большой исторический казус.

Изначально такие кассовые штрихкоды появились в США, там они состоят из 12 цифр и называются UPC (Universal Product Code). Для переноса технологии в Европу и адаптации стандарта Европе нужны были дополнительные цифры, потому что американские 12 все уже были заняты.

что включает в себя штрих код товара

Первым товаром, приобретенным по штрих-коду на этикетке, стал блок из 10 жевательных резинок Wrigley Juicy Fruit. Это произошло в супермаркете Marsh города Трой (Огайо) в четверг, 26 июня 1974 года в 8.01 утра. В историю вошли и имя покупателя, и имя кассира, открывших новую страницу розничной торговли. Теперь упаковка жвачки, которая тогда обошлась в 67 центов, вместе с чеком хранятся в музее американской истории Смитсоновского института.

Чтобы расширить емкость, можно было бы просто добавить еще немного штрихов и пропусков, но в те времена это серьезно ухудшало считываемость. Поэтому вместо того, чтобы просто увеличить штрихкод в ширину, был применен “хак”.

По американскому стандарту любая из цифр штрихкода может быть записана: а) обычными штрихами и пропусками; б) их зеркальным отражением; в) инверсией черного и белого; г) зеркальной инверсией. Всё это нужно для того, чтобы можно было печатать инверсные штрихкоды (белым по черному) и сканировать штрихкод вверх ногами (зеркальное отражение в случае штрихкода — то же самое, что и поворот на 180°).

В “американском” штрихкоде (который на 12 цифр) первые 6 цифр кодируются обычными штрихами, а вторые 6 цифр инвертированными штрихами (где черные штрихи заменены на белые полоски и наоборот). Это сделано для того, чтобы понимать, перевернут штрихкод или нет, нормально я его сканирую или вверх ногами (и затем декодировать цифры в правильном порядке, а не задом наперед).

В новом “европейском” штрихкоде (который на 13 цифр), первая цифра (например, “4”) кодируется не штрихами, а путем «перетасовывания» способов кодирования следующих за ней 6 цифр из первого блока (второй блок из 6 оставили в покое).

Например, следующая за четверкой “6” выводится как обычно, штрихи следующего за ней “0” выводятся в обратном порядке (зеркально), следующие за ней “1” и “2” выводится снова в обычном виде, следующие два “0” снова зеркально. Общая длина штрихкода и число штрихов в результате этого трюка не меняется.

Для “американского сканера” такая белиберда не имеет смысла, а для Европы это тайный знак того, что в штрихкоде закодирована еще одна цифра! (да, мы всегда знали, что европейцы извращенцы).

Для всех цифр от “1” до “9” были придуманы такие правила тасовки способов кодирования. Для “0” ничего нет, т.е. 13-значный штрихкод с лидирующим нулем визуально ничем не отличается от 12-значного штрихкода без этого лишнего ноля (EAN-13 с лидирующим нулем эквивалентен UPC-А).

Из этого получается первый прикол, что если перед нами “американский” штрихкод (в котором варианты кодирования не “перетасованы”), то “американский сканер” читает 12 цифр, а условный “европейский сканер” может считать, что в нем есть лидирующий «0», и считывать лишний ноль (т.к. для кодирования ноля не предусмотрено никакой “перетасовки”, этого “лидирующего нуля” очевидно в принципе нигде нет в штрихкоде).

Конечно, мир давно глобализован, поэтому “американский” сканер и “европейский” сканер — это просто условности. Сканер один и тот же, но у него есть настройка: нужно ли ему в принципе считывать EAN-13 (Европа) или читать только UPC-А (США), а если считывать EAN-13, то надо ли добавлять лишний ноль к американским штрихкодам UPC-А.

С этим связана одна распространенная проблема при внедрении штрихкодирования: когда в базе данных у компании либо нет нолей в начале штрихкодов, а сканер считывает с “лишним” нолем, либо наоборот, в базе данных есть ноль в начале, а сканер его “не считывает” (хотя, что там считывать, — этого ноля в принципе в штрихкоде нет).

Казалось бы, сложно накосячить в использовании EAN-13/UPC. Тем не менее, люди делают следующие ошибки:

В наших программных продуктах, таких как “Магазин 15” или “Склад 15”, построенных на платформе Mobile SMARTS, мы решаем эту проблему очень просто: сканер устройства всегда автоматически настраивается на возврат ноля, а поиск товара по базе данных производится два раза: и с нолем, и без ноля (чтобы уж точно найти товар).

Сканер мы стараемся настраивать программно, без участия человека. Если сканер нельзя настроить программно — то это всегда проблема, потому что по умолчанию сканером может обрезаться не только 0 (который в начале), но еще и чексумма (которая в конце), тогда в программу придут не 13, а уже 11 символов, зачастую даже без указания типа штрихкода (такие замечательные сканеры тоже бывают).

В этом случае мы бессильны улучшить результат. 11 символов могли прийти от сканирования любого другого типа штрихкода, мы не можем считать все штрихкоды как EAN-13. Чтобы настроить сканер, человеку придется сканировать с листа настроечные штрихкоды или заходить в какие-нибудь меню, а всё это — источники ошибок.

GS1 DataMatrix

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

Ну ладно, допустим с EAN-13 можно придраться и сказать, что первая цифра всё-таки есть в штрихкоде, просто она закодирована не совсем штрихами (хотя для лидирующего “0” это и не так).

Возьмем тогда другой пример, штрихкод GS1 DataMatrix «(21)abba01(01)04601200000003»:

что включает в себя штрих код товара

В этом штрихкоде “внутри” нет ни скобок, ни символа «0», ни буквы «a», ни переноса строки.

Что тут происходит?

Во-первых, никакие скобки в штрихкод не кодируются, они печатаются только для удобства прочтения человеком. Это снова называется Human readable interpretation (HRI), привет, кожаный мешок.

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

В самом начале в штрихкод вставляется управляющий символ, который называется FNC1 и имеет код 232, что соответствует либо странному печатаемому символу «Þ» (ANSI), либо русской букве “и” (Windows-1251), смотря какую кодировку использовать. Этот символ говорит, что у нас не просто абы какой DataMatrix, а именно GS1 DataMatrix, данные в котором имеют определенный формат: массив данных из пар (“код поля”, “значение поля”).

Этот управляющий символ FNC1 попадает в самое начало штрихкода, но его нельзя “передать” в штрихкод в составе данных.

Кроме того, непечатаемые символы, вполне очевидно, нельзя копипастить в составе строки, хаха! Страдай, кожаный мешок!

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

Далее, поскольку в штрихкоде внутри нет скобок, то уже непонятно, где кончается одно поле и начинается другое, где тут номера полей. Без скобок получается “21abba010104601200000003” (тут “01” встречается три раза, ха-ха).

Где заканчивается “01” из значения поля (21) и начинается настоящее (01)?

Это решается следующим способом:

По стандарту GS1 поля имеют формат. Не абы что, а формат значения. Например, значение для (01) должно состоять из 14 цифр и баста (нельзя 13 цифр, нельзя 12 цифр, нельзя не цифры). А поле (21), наоборот, имеет переменную длину, разрешены цифры, латинские буквы обоих регистров, знаки препинания и даже (опачки!) скобки.

Если после значения для (21) штрихкод не закончился, и там еще что-то есть, то в данные вставляется разделитель (это может быть снова или FNC1, или непечатаемый символ GS с кодом 29).

А общее правило звучит так: спецсимвол GS не вставляется, только в случае если AI начинается с пары цифр из этой вот таблицы:

что включает в себя штрих код товара

Для всех остальных полей GS1 (не из этой таблицы) в конце значения нужно вставлять GS.

Т.е., мы получим “FNC121abba01GS0104601200000003” (только помним, что первый FNC1 мы не будем передавать в программу формирования штрихкода, а второй GS — это не строка “GS”, а один символ с кодом 29).

Эти требования — именно про данные, а не про штрихкод DataMatrix, потому что в штрихкод DataMatrix можно положить любые данные, они прекрасно закодируются и прочитаются. Тут речь о GS1 DataMatrix, который имеет определенный формат, и ваша программа должна соблюсти этот формат, прежде чем подавать данные в штрихкод.

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

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

В нашем примере мы закодировали в штрихкод поля порядке: сначала (21), потом (01), а на изображении под штрихкодом распечаталось сначала (01), потом (21). Это снова называется Human readable interpretation (HRI), и порядок вывода в подписи соответствует правилу “потому что так принято”.

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

В большинстве случаев сканер прочитает наш штрихкод как “21abba01GS0104601200000003”. Никакого лидирующего FNC1, никаких скобок, GS не печатаемый и не виден в “Блокноте” (нужно использовать хотя бы Notepad+).

И принтер, и сканер могут делать со штрихкодами что хотят: добавлять и убирать символы, менять их местами — ради соответствия гайдлайну или для совместимости со сторонней программой.

Что еще интересно: в этом штрихкоде только 16 байт данных (на 24 символа без скобок).

Вот что тут происходит:

Т.е. чтобы закодировать “a”, нужно записать в штрихкод “b”, чтобы закодировать “1”, нужно записать “2” и т.д., именно поэтому прямо в самом штрихкоде нет байта 97 (значение буквы “a” в ASCII).

Итого, в приведенном штрихкоде “закодировано” в байтах 232, 151, 98, 99, 99, 98, 131, 232, 131, 134, 190, 142, 130, 130, 130, 133. И это еще до кодов коррекции и паддинга!

Непонимание процесса кодирования приводит к тому, что, например, для начавшейся обязательной маркировки обуви люди печатают на принтер неправильно сформированные данные и получают неправильные штрихкоды, которые выглядят вполне нормально, читаются приложением “Честный знак”, но данные в них неверные, как минимум это не GS1 DataMatrix.

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

В своем софте “Кировка” мы боремся с этим следующим образом: для печати принимаем в качестве исходных данных любой мусор, пытаемся распарсить его как GS1 DataMatrix, разбираем на косточки. Если всё прошло удачно, то конвертируем в правильный формат, чтобы принтер это понял; а при сканировании перепроверяем данные от сканера, делая таким образом вывод о правильности печати.

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

Выполним еще одно упражнение: посмотрим, какого размера должен быть штрихкод GS1 DataMatrix для хранения кода маркировки обуви и легпрома.

На сайте «Честного знака» написано, что код маркировки обуви должен содержать следующие поля (для легпрома те же требования):

Для каждого из этих полей в данных для штрихкода должен быть указан идентификатор применения GS1 (AI, application identifier).

что включает в себя штрих код товара
Таблица codeword для DataMatrix

Таблица, объясняющая кодирование КМ обуви в DataMatrix:

ЧтоФорматCodewordsСколько байтВсего байт, минимумВсего байт, максимум
Codeword [232]111
AI (00)Codeword [130]122
GTIN14 цифрCodeword со [130] по [229]799
AI (21)Codeword [141]11010
s/n13 знаков ASCIICodewords с [1] по [128] и со [130] по [229]от 7 до 13*1723
Codeword 3011824
AI (91)Codeword 22111925
Ключ проверки4 цифрыCodeword с 130 по 22942329
AI (92)Codeword 22212430
Код проверки88 знаков ASCIICodewords с [1] по [128] и со [130] по [229]от 44 до 88*28118

* если в данных для штрихкода есть пары подряд идущих цифр, то они будут кодироваться одним байтом, а не двумя (Codewords со [130] по [229]), и это экономит байты.

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

Согласно GS1 DataMatrix Guideline, такие данные укладываются в штрихкоды размером от 36х36 до 44х44 (колонок и строк битов, не миллиметров). В миллиметрах размер будет зависеть от разрешающей способности принтера (обычно это 203-600 dpi).

что включает в себя штрих код товара
Таблица из GS1 DataMatrix Guideline

А как же голая Эмма Уотсон? Рассмотрим в следующей статье.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *