Штрих-код производителя - это последовательность черных и белых полос, представляющая некоторую информацию в виде, удобном для считывания техническими средствами. Информация, содержащаяся в коде может быть напечатана в читаемом виде под кодом (расшифровка). Штриховые коды используются в торговле, складском учете, библиотечном деле, охранных системах, почтовом деле, сборочном производстве, обработка документов. В мировой практике торговли принято использование штрихкодов символики EAN для маркировки товаров. В соответствии с принятым порядком, производитель товара наносит на него штриховой код, формируемый с использованием данных о стране местонахождения производителя и кода производителя. Код производителя присваивается региональным отделением международной организации EAN International. Такой порядок регистрации позволяет исключить возможность появления двух различных товаров с одинаковыми кодами.
Существуют различные способы кодирования информации, называемые (штрихкодовыми кодировками или символиками). Различают линейные и двухмерные символики штрихкодов.
Линейными (обычными) в отличие от двухмерных называются штрихкоды, читаемые в одном направлении (по горизонтали). Наиболее распространненые линейные символики: EAN, UPC, Code39, Code128, Codabar, Interleaved 2 of 5. Линейные символики позоволяют кодировать небольшой объем информации (до 20-30 символов - обычно цифр) с помощью несложных штрихкодов, читаемых недорогими сканерами. Пример кода символики EAN-13:
Двухмерными называются символики, разработанные для кодирования большого объема информации (до нескольких страниц текста). Двухмерный штрих-код считывается при помощи специального сканера двухмерных кодов и позволяет быстро и безошибочно вводить большой объем информации. Расшифровка такого кода проводится в двух измерениях (по горизонтали и по вертикали). Datamatrix, Data Glyph, Aztec.
Штриховой код можно наносить при производстве упаковки (типографским способом) или использовать самоклеящиеся этикетки, которые печатаются с использованием специальных принтеров.
Расшифровка штрих-кода производителя
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: 18x3=54
3. Сложить цифры, стоящие на нечетных местах, без контрольной цифры: 4+2+0+4+0+0=10
4. Сложить числа, указанные в пунктах 2 и 3: 54+10=64
5. Отбросить десятки: получим 4
6. Из 10 вычесть полученное в пункте 5: 10-4=6
Если полученная после расчета цифра не совпадает с контрольной цифрой в штрих-коде, это значит, что товар произведен незаконно.
Таблица соответствия штрих-кода производителя стран мира
Штрих-код производителя |
Организация EAN |
|
США и Канада |
UCC (U.S.A. & Canada) |
|
Внутренний штрих-код предприятия |
||
GENCOD-EAN France |
||
Болгария |
||
Словения |
||
Хорватия |
||
Босния и Герцеговина |
EAN-BIH (Bosnia-Herzegovina) |
|
Германия |
||
Distribution Code Center - DCC (Japan) |
||
UNISCAN / EAN RUSSIA (Russian Federation) |
||
EAN Eesti (Estonia) |
||
Азербайджан |
||
Узбекистан |
||
Шри-Ланка |
||
Филиппины |
PANC (Philippines) |
|
Беларусь |
||
Казахстан |
||
HKANA (Hong Kong) |
||
Великобритания |
||
HELLCAN - EAN HELLAS (Greece) |
||
Македония |
EAN-MAC (FYR Macedonia) |
|
Ирландия |
||
Бельгия, Люксембург |
ICODIF/EAN Belgium.Luxembourg |
|
Португалия |
CODIPOR (Portugal) |
|
Исландия |
||
Южная Африка |
EAN South Africa |
|
Маврикий |
||
EAN Maroc (Marocco) |
||
TUNICODE (Tunisia) |
||
Иордания |
||
Саудовская Аравия |
EAN Saudi Arabia |
|
Объединенные Арабские Эмираты |
||
Финляндия |
||
Article Numbering Centre of China - ANCC (China) |
||
Норвегия |
EAN Norge (Norway) |
|
Israeli Bar Code Association - EAN Israel |
||
Гватемала |
||
Сальвадор |
||
Гондурас |
||
Никарагуа |
||
Коста-Рика |
||
Доминиканская Республика |
EAN Republica Dominicana |
|
Венесуэла |
||
Швейцария |
EAN (Schweiz, Suisse, Svizzera) |
|
Колумбия |
||
Аргентина |
CODIGO - EAN Argentina |
|
Парагвай |
||
Бразилия |
||
Camera de Comercio de la Republica de Cuba (Cuba) |
||
Словакия |
||
Югославия |
EAN YU (Yugoslavia) |
|
Северная Корея |
EAN DPR Korea (North Korea) |
|
Union of Chambers of Commerce of Turkey (Turkey) |
||
Нидерланды |
EAN Nederland (Netherlands) |
|
Южная Корея |
EAN Korea (South Korea) |
|
Сингапур |
SANC (Singapore) |
|
Индонезия |
||
Австралия |
||
Новая Зеландия |
||
Малайзия |
Malaysian Article Numbering Council (MANC). |
|
960-969 |
Великобритания (для EAN-8) |
|
Периодические издания ISSN |
||
Книжные издания ISBN |
||
Музыкальные издания ISMN |
||
Возвратные квитанции |
||
Валютные купоны |
||
23. Штрихкоды, особенности кодов ean-8,-13,-14
Штриховые коды, представляющие собой по внешнему виду прямоугольник с комбинацией темных и светлых полос и цифровых обозначений, стали неотъемлемым элементом маркировки товаров не только импортного, но и отечественного происхождения.
В соответствии с требованиями проведения внешнеторговых операций, наличие штрихового кода является обязательным условием экспорта. Отсутствие штрихового кода часто является причиной снижения конкурентоспособности ряда отечественных товаров на внешнем рынке.Штриховой код (ШК) - товарный знак, наносимый на товар или его упаковку в виде штрихового или цифрового символа, считываемого сканером.
Штриховой код является одним из средств системы автоматической идентификации товара, к которой также относятся средства цифровой, магнитной, радиочастотной, звуковой и визуальной идентификации (магнитная карточка, радиочастотная бирка и т.д.). Его главное преимущество перед другими средствами автоматической идентификации заключается в возможности оперативно передавать информацию о товаре по системе электронной связи.
Штриховой код предназначен для:
оперативной идентификации товара и производителя;
проведения торговых сделок «без бумаг»: ШК сокращает издержки на делопроизводство с 15 % до 0,5-3 % от стоимости товара;
автоматизированного учета и контроля товарных запасов;
оперативного управления процессом товародвижения: отгрузки, транспортировки и складирования товаров (производительность труда по обеспечению товародвижения повышается на 30%, в некоторых случаях - до 80%);
информационного обеспечения маркетинговых исследований.
Каждому виду, разновидности, модификации товара присваивается индивидуальный товарный номер (обозначается штриховым кодом). При изменении потребительских свойств товара (состава, формы, размера, массы, конструкции, цвета, вида и способа упаковки, комплектности и т.д.), его ШК обязательно меняется. Только рыночное колебание цены на товар не влечет за собой изменение его товарного номера (кода). Существуют несколько видов кодов, среди которых наиболее распространенными являются европейские коды типа EAN и американские типа UPC.
Коды EAN в зависимости от числа знаков символов подразделяют на EAN-8, EAN-13 и EAN-14.
При нанесении штрихкода на товар или на его внутреннюю (потребительскую) упаковку применяют тринадцати- или восьмизначные символы Международной ассоциации товарной нумерации EAN (EAN-13 и EAN-8), а также американские универсальные коды UPC.
Сокращенные коды (например, EAN-8) наносят обычно на малогабаритные товары, размер которых не позволяет наносить полные (тринадцатизначные) номера.
Для маркировки транспортной упаковки используют символы кода EAN-13 и EAN(ITF)-14.
Коды EAN-14 имеют более крупные размеры, чем EAN-13 и не требуют высококачественной печати. Однако, если товар продается покупателю вместе с упаковкой, применяют только коды EAN-13, так как код EAN-14 не считывается сканирующими устройствами, установленными в магазинах.
По структуре кодов различают ШК:
дискретные: знаки разделены межзначными интервалами;
непрерывные: знаки-разделители отсутствуют;
двунаправленные: можно считывать в двух направлениях - слева направо и справа налево.
Тринадцатизначный номер штрихового кода EAN-13 включает:
первые 2 (3) знака - код банка данных организации, зарегистрировавшей предприятие-изготовитель и товар (выдавшей товарный номер). Необходимо учитывать, что он не всегда совпадает с местом происхождения (страной изготовления) товара, так как фирма может быть зарегистрирована не в отечественном банке данных, а в зарубежном;
последующие:
5 (4) знаков - код предприятия, производящего или реализующего товар;
5 знаков - код товара. Предприятие самостоятельно определяет кодируемую информацию (с учетом потребительских свойств товара, упаковки, массы и т.д.) и доводит ее до торгового партнера, который должен получить информацию о ШК минимум за 3 недели до поставки самого товара (это правило действует и в случае изменения ШК);
1 знак (последний) - контрольная цифра рассчитывается путем простейших арифметических операций и предназначена для проверки правильности считывания (сканирования) ШК. Часто ШК сопровождается знаком «старт-стоп», который располагается в начале и в конце кодового сообщения и используется как ограничитель кода. Такими ограничителями являются удлиненные краевые штрихи, указывающие на начало и конец сканирования.
Единственной организацией в России и странах СНГ, имеющей право регистрировать предприятия в Международной системе EAN и предоставлять уникальные штриховые коды EAN и американские коды UPC, является Внешнеэкономическая ассоциация в области автоматической идентификации «UNISCAN» («ЮНИСКАН»). Любое предприятие может стать полноправным членом-пользователем Международной ассоциации EAN и получить товарный номер (штриховой код) на свою продукцию.
Штрихкод стандарта EAN 13 является наиболее известным штрихкодом в Европе, который используется в супермаркетах и других предприятиях розничной торговли для основной идентификации продукции. Это европейский эквивалент штрихкода стандарта UPC-A в Соединенных Штатах. Хотя аббревиатура EAN расшифровывается как Европейский номер товара, в настоящее время код носит техническое название Международный номер товара и также используется за пределами Европы.
Спецификации: Как следует из названия, штрих-коды стандарта EAN 13 хранят в общей сложности 13 цифр, в отличие от кодов стандарта UPC-A, которые содержат 12. Первые две цифры являются префиксом GS1, который определяет страну происхождения продукта. Следующий пятизначный номер компании определяет марку, а последующие пять цифр — сам продукт. Далее находится контрольный знак, который обеспечивает точность кода. В заключение расположен символ «>», определяющий «белое поле», которое означает конец штрихкода.
Преимущества: Штрихкод стандарта EAN 13 является популярным, распознаваемым и полезным для проведения общих повседневных розничных операций, поскольку может считываться любым считывателем штрихкодов. Контрольный знак также помогает обеспечить точность данных в случае их ввода ручным способом. Для получения конкретного одноразрядного результата цифры в штрихкоде математически комбинируются определенным способом. Если контрольный знак не соответствует такому результату, код введен неправильно..
Недостатки: Ограничение по количеству символов в штрихкоде стандарта EAN 13 уменьшает его возможности использования. Хотя данный стандарт кодирования подходит для общего использования в супермаркетах, его нельзя применить для определения более сложных элементов.
ИСХОДНЫЕ МАТЕРИАЛЫ:
1) Иеромонах Лука, монах Продром, насельники афонского монастыря Григориат. "Штриховой код и число 666". Исследование третье (23.6.1997). Обитель преподобного Григория. 23 июня 1997 года. Использованы приведенные в работе описания штрих-кода EAN-13 и описания способов его обработки сканерами.
2) Устные высказывания двух независимых инженеров-программистов, работавших в разное время со сканерами штрих-кодов, о способе представления и передачи кодов от сканера к компьютеру.
ТЕРМИНОЛОГИЯ:
Код
- штрих-код EAN-13.
Штрих-символ
- 2 штриха различной (в общем случае) толщины, посредством которых графически представляется любая цифра в коде.
Ограждающие штрихи
- (Guard Bars, Guard Patterns) - выступающие штриховые символы в начале, середине и конце этикеток кода.
LGP
- Left Guard Pattern - левый ограждающий штрих.
CGP
- Center Guard Pattern - центральный ограждающий штрих.
RGP
- Right Guard Pattern - правый ограждающий штрих.
Сканер
- устройство для считывания штрих-кода с этикеток и передачи его в компьютер (кассовый аппарат или банкомат).
РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЙ:
Основная предпосылка к соображению о наличии закодированного числа 666 в штрих-коде EAN-13 (далее: код) - наличие визуального сходства изображения числа 6 и изображений ограждающих штрихов этого кода. Для проверки этого сходства было произведено теоретическое сравнение графического и внутреннего представления, а также способов обработки сканером числа 6 и ограждающих штрихов кода.
1.1
Размеры изображений числа 6 и ограждающих штрихов.
Чтобы представить графически (в виде штрихов) любое число в коде, в том числе 6, используеся штрих-символ - вертикальная полоска, состоящая, в свою очередь, из 7 более мелких полосок, так называемых модулей, каждый из которых может быть черным или белым. Для представления ограждающих штрихов применяются полоски из меньшего (и различного) числа модулей:
для LGP и RGP - полоски из 3 модулей,
для CGP - полоска из 5 модулей.
На следующем рисунке изображена этикетка кода с пояснениями по количеству используемых модулей:
1.2
Изображение числа 6 и ограждающих штрихов.
Для представления любого числа в коде используется 3 множества штрих-символов: Set A, Set B, Set C, т.е. каждое число на этикетке кода представляется одним из 3-х возможых вариантов. Для изображения числа в Правой части этикетки всегда используется Set C. В Левой части используется Set A или Set B в соответствие с Таблицей 1 в зависимости от первого числа штрих-кода N, находящегося на этикетке слева от LGP.
Левая часть этикетки кода | И Т О Г О | |||||||
Значение числа N | 1-я цифра | 2-я цифра | 3-я цифра | 4-я цифра | 5-я цифра | 6-я цифра | Кол-во Set A | Кол-во Set B |
0 | A | A | A | A | A | A | 6 | 0 |
1 | A | A | B | A | B | B | 3 | 3 |
2 | A | A | B | B | A | B | 3 | 3 |
3 | A | A | B | B | B | A | 3 | 3 |
4 | A | B | A | A | B | B | 3 | 3 |
5 | A | B | B | A | A | B | 3 | 3 |
6 | A | B | B | B | A | A | 3 | 3 |
7 | A | B | A | B | A | B | 3 | 3 |
8 | A | B | A | B | B | A | 3 | 3 |
9 | A | B | B | A | B | A | 3 | 3 |
И Т О Г О | 33 | 27 | ||||||
Процентное соотношение (50% занимает Set C) | 27,5 | 22,5 |
Число N для каждой цифры из Левой части этикетки определяет символом какого множества (Set A или Set B) будет представлена эта цифра. Например, если в крайней левой позиции этикетки (т.е. слева от LGP) стоит 2 (N=2), то 1-я и 2-я цифры представлены штрих-символами Set A, 3-я и 4-я - Set B, 5-я - Set A, 6-я - Set B.
Таким образом, после подсчёта всех вариантов представления любой цифры, в т.ч. и 6, из таблицы становится понятно: если взять все возможные сочетания цифр на этикетке кода (т.е. все возможные варианты этикеток), то 27,5% всех "шестёрок" будут представлены штрих-символами из множества Set A, 22,5% - Set B и 50% - Set C.
Число 6 во множествах Set A,B и C и ограждающие штрихи изображаются следующими способами:
Рис 3. Графическое представление числа 6 в Set A, Set B, Set C
и ограждающих штрихов кода EAN-13.
Из рисунка ясно видно, что изображения ограждающих штрихов совпадают визуально с изображениями числа 6 только в Set B и Set C, что составляет 50%+22,5%=72,5 %, в остальных 27,5% (Set A) эти изображения визуально не совпадают.
2. Внутреннее представление в сканере.Любой штрих-символ этикетки кода преобразуется сканером в двоичную последовательность нулей и единиц (0 и 1), в которой каждому чёрному модулю соответстует 1, белому - 0. В соответствие с рис.3 двоичные представления изображений следующие:
6(Set A) - 0101111;
6(Set B) - 0000101;
6(Set C) - 1010000;
LGP, RGP - 101;
CGP - 01010;.
Эти последовательности нельзя рассматривать как двоичные числа, а лишь как двоичные изображения (картинки из 0-ей и 1-ц). B процессоре и памяти сканера эти изображения представляются в 8-разрядном двоичном виде путём дополнения слева нулями до 8 разрядов. Таким образом, получаем:
6(Set A) - 00101111; 6(Set B) - 00000101; 6(Set C) - 01010000; LGP, RGP - 00000101; CGP - 00001010;.
Ясно, что совпадают только внутренние представления изображения LGP/RGP с внутренним представлением изображения числа 6(Set B), что составляет 22,5% от всех возможных шестёрок в коде (см. ). Внутренние представления LGP/RGP не совпадают с внутренним представлением CGP, а внутреннее представление CGP не совпадает с какими-либо 6-ми.
К сожалению, в ИСХОДНЫХ МАТЕРИАЛАХ нет явного описания 8-разрядного представления числа 6(Set C) - 01010000 2 , это представление выведено на основе общих правил представления информации в процессоре и памяти. Поэтому оно может оказаться неверным, если именно для числа 6(Set C) в конструкции сканера сделано какое-либо исключение, что представляется практически невероятным. Во всяком случае, это представление легко проверить по каким-либо другим источникам.
3. Алгоритм обработки и распознавания символа сканером.В ИСХОДНЫХ МАТЕРИАЛАХ подробно описан алгоритм Техника "расстояния ширины" (width distance), который выдает одинаковое для числа 6(Set B,C) и для LGP/RGP соотношение 3:2:1. Теоретическое применение данного алгоритма для распознавания CGP позволяет сдалать вывод:
для CGP возможно получение соотношения 4:3:2:1, которое отличается от 3:2:1 для LGP/RGP и даёт при расшифровке согласно описанию этого алгоритма (в двоичном виде):
00001111
-00000111
+00000011
-00000001
---------
00001010 2
- это как раз внутреннее представление CGP, что и подтверждает правильность соотношения 4:3:2:1.
4. Момент идентификации штрихового символа именно как числа 6.
Сканер передаёт результаты своей работы компьютеру, к которому подключается по клавиатурному входу вместе с клавиатурой (см. рис.4) в точке (*). Такое подключение делается для обеспечения возможности вводить код с этикетки вручную, просто набирая цифры кода на клавиатуре. Клавиатура передаёт в компьютер порядковые номера нажатых клавиш. Поскольку сканер и клавиатура подключены к компьютеру в общей точке (*), сканер "вынужден" также передавать в компьютер порядковые номера клавиш, которые надо было бы нажать на клавиатуре, чтобы получить на экране последовательность чисел с этикетки штрих-кода.
Рис 4. Путь информации от штрих-символа цифры 6 (Set A)
до двоичного представления 6 в компьютере.
Движение информации происходит следующим образом (на рис.4 оно показано на примере штрих-символа цифры 6(Set A)). Любой штрих-символ этикетки кода преобразуется сканером в двоичную последовательность нулей и единиц (0 и 1), в которой каждому чёрному модулю соответстует 1, белому - 0 (см. ). Затем для всех двоичных последовательностей, соответсвующих цифрам кода, определяются порядковые номера клавиш, которые необходимо было бы нажать для получения этих цифр (для цифры 6 - клавиша № 77), и передаются в компьютер. Таким образом, ограждающие штрихи в компьютер не передаются, они там не нужны по двум причинам:
1) Ограждающие штрихи выполняют свою служебную функцию выделения правой и левой части этикетки кода лишь на этапе получения в сканере двоичных последовательностей, и далее не нужны.
2) При ручном вводе штрих-кода на клавиатуре набираются только цифры кода, и, соответственно, передаются в компьютер порядковые номера нажатых цифровых (0-9) клавиш без всяких ограждающих штрихов. Поскольку сканер подключен к клавиатурному входу, он "вынужден" передавать также порядковые номера только цифровых клавиш.
И только внутри компьютера происходит преобразование № клавиши в цифру.
В нашем примере по № клавиши 77 компьютер определяет, что введена была цифра 6.
Таким образом, в сканере отсутствует числовое представление числа 6 (двоичное число 00000110), а присутствует только представление изображения числа 6 (см. настоящей Справки). Числовое представление числа 6 появляется только в компьютере, где ограждающие штрихи в каком-либо виде вообще отсутствуют.
5. О сходстве штрихового изображения числа 6 и ограждающих штрихов.
Данный пункт является вследствие недостатка информации предположением, основанным скорее даже не на логике, а на здравом смысле.
5.1 Использование 2-х полосок единичной ширины с единичным белым промежутком для ограждающих штрихов.Эта пригодность выражается в том, что для настройки сканера на считывание удобно получить следующую единичную серию импульсов от изображения:
- единичный чёрный импульс;
- единичный белый импульс;
- единичный чёрный импульс,
которая будет использоваться как эталон длительности импульсов при последующем считывании.
Изображения числа 6(Set B,C) получаются путём инвертирования (каждый чёрный модуль переходит в белый и наоборот) и последующего зеркального отображения исходного изображения числа 6(Set A). Вероятно, сначала было разработано изображения числа 6(Set A), а уже из него автоматически получились изображения числа 6(Set B) и 6(Set C), которые и соответствуют двум тонким полосам. К сожалению, пока не удалось найти информацию о том, насколько необходимо было изначальное изображение числа 6(Set A) именно в таком виде.
ВЫВОДЫ:
Чтобы было возможно сделать вывод о том, что с математической точки зрения ограждающие штрихи представляют собой три шестерки (666), необходимо выполнение 2-х условий:
- Все три ограждающих штриха должны совпадать между собой.
- Изображения ограждающих штрихов должны совпадать с изображением цифры 6.
- При наличии визуального сходства, имеет место только непрямое совпадение ограждающих штрихов между собой, т.к. на уровне внутреннего представления и на уровне результатов применения алгоритма распознавания ограждающие штрихи LGP/RGP не совпадают с центральным штрихом CGP.
- Имеет место также непрямое совпадение изображений ограждающих штрихов и цифры 6, т.к. при наличии 3-х вариантов изображения цифры 6, различных в Set A, Set B и Set C, в представлении Set A цифра 6 вообще не совпадает с ограждающими штрихами, в Set C не совпадает на уровне внутреннего представления в сканере, и только в Set B (22,5% от всех возможных вариантов изображения цифры 6) присутствует полное совпадение изображений ограждающих штрихов и цифры 6.
При проведении данного исследования применялся односторонний подход к анализу информации - чисто математический. Однако известно, что число 666 как имя зверя - число символическое, не имеющее уже математического смысла. Следовательно, и рассматривать его надо символически, как состоящее из символов 6. Шестерки, таким образом, теряют свой математический смысл и также становятся символами. Что же остается от 3-х вариантов представления цифры 6? - Ничего, т.к. можно символ инвертировать - обратить (преобразование по вертикали), можно зеркально отобразить (по горизонтали) - он останется тем же символом - 6.
Такая же ситуация и с различием левого/правого ограждающих штрихов LGP/RGP и центрального штриха CGP. Добавление белых полосок слева (или даже справа) не меняет значения символа. Таким образом, изображения ограждающих штрихов и шестерок совпадают символически, и, следовательно, штрих-код EAN-13 содержит число 666.