Система штрихкодирования ean 13. Кодировка - EAN13(8)

Подписаться
Вступай в сообщество «passport13.com»!
ВКонтакте:

Штрих-код EAN-13 является самым распространенным среди линейных символик. С помощью этой системы знаков можно закодировать только 12 цифр. При использовании EAN-13 запрещено кодирование букв и спецсимволов.

Последняя 13 цифра является контрольным символом и рассчитывается автоматически исходя из первых 12 цифр, введенных пользователем.

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

Какие цифры кодируются для дисконтных карт?

Первые три цифры в штрих-коде EAN-13 обозначают региональный код разных стран. Например, 460 – 469 - это Россия.

Для пластиковых карт зарезервирован специализированный диапазон с 200 по 299, не присвоенный ни одной стране.

Если отклониться от данного диапазона, то при использовании карт может произойти случайное пересечение с товаром.

Внешний вид штрих-кода EAN-13

На рисунке, расположенном ниже, размещен пример штрих-кода с номером 2150000000017, где 7 - контрольная цифра.

вы можете проверить
штрих-коды сосканировав их с экрана своим телефоном

EAN-13 С ПОДПИСАННЫМ НОМЕРОМ

Под штрих-кодом полностью отображен закодированный номер.


Введите 12 цифр:

Нажмите ввод

EAN-13 С ЧАСТИЧНО ПОДПИСАННЫМ НОМЕРОМ

Под штрих-кодом полностью отображена часть закодированного номера.


Введите 12 цифр:

Нажмите ввод

Отображать цифр справа:

EAN-13 БЕЗ ПОДПИСАННОГО НОМЕРА

Номер под штрих-кодом скрыт.


Введите 12 цифр:

Нажмите ввод

Как рассчитывается контрольный символ?

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

Для примера рассмотрим расчет контрольной суммы для штрих-кода под номером 215000000001Х, где Х - контрольная сумма.

Как уже упоминалось выше, в данном коде используется 12 цифр. Последний, 13 знак, является контрольным. Проведем расчет 13 знака:

  • Сначала сложим все цифры, стоящие на четных местах: 1+0+0+0+0+0+1=2
  • Полученную сумму умножим на три: 2х3=6
  • Далее сложим цифры, стоящие на нечетных местах:2+5+0+0+0+0=7
  • Затем сложим полученные цифры в пункта 2 и 3: 6+7=13
  • Отбрасываем десятки, получим 3
  • Наконец, из 10 вычитаем число из п.5 и получаем контрольную сумму: 10-3=7

Штрихкод стандарта EAN 13 является наиболее известным штрихкодом в Европе, который используется в супермаркетах и других предприятиях розничной торговли для основной идентификации продукции. Это европейский эквивалент штрихкода стандарта UPC-A в Соединенных Штатах. Хотя аббревиатура EAN расшифровывается как Европейский номер товара, в настоящее время код носит техническое название Международный номер товара и также используется за пределами Европы.

Спецификации: Как следует из названия, штрих-коды стандарта EAN 13 хранят в общей сложности 13 цифр, в отличие от кодов стандарта UPC-A, которые содержат 12. Первые две цифры являются префиксом GS1, который определяет страну происхождения продукта. Следующий пятизначный номер компании определяет марку, а последующие пять цифр — сам продукт. Далее находится контрольный знак, который обеспечивает точность кода. В заключение расположен символ «>», определяющий «белое поле», которое означает конец штрихкода.

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

Недостатки: Ограничение по количеству символов в штрихкоде стандарта EAN 13 уменьшает его возможности использования. Хотя данный стандарт кодирования подходит для общего использования в супермаркетах, его нельзя применить для определения более сложных элементов.

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

Возвратные квитанции

Валютные купоны


ИСХОДНЫЕ МАТЕРИАЛЫ:
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. Графическое представление в штрих-коде EAN-13.

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.



процентное соотношение чисел кода, представляемых множествами Set A и Set B." bordercolor="#000000" bordercolorlight="#000000" bordercolordark="#000000">Таблица 1. Множества, используемые в Левой части этикетки и процентное соотношение чисел кода, представляемых множествами Set A и Set B.
Левая часть этикетки кода И Т О Г О
Значение
числа 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-х полосок единичной ширины с единичным белым промежутком для ограждающих штрихов.

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

5.2 Использование 2-х штрихов единичной ширины с единичным белым промежутком для изображения числа 6(Set B,C).

Изображения числа 6(Set B,C) получаются путём инвертирования (каждый чёрный модуль переходит в белый и наоборот) и последующего зеркального отображения исходного изображения числа 6(Set A). Вероятно, сначала было разработано изображения числа 6(Set A), а уже из него автоматически получились изображения числа 6(Set B) и 6(Set C), которые и соответствуют двум тонким полосам. К сожалению, пока не удалось найти информацию о том, насколько необходимо было изначальное изображение числа 6(Set A) именно в таком виде.


ВЫВОДЫ:

Чтобы было возможно сделать вывод о том, что с математической точки зрения ограждающие штрихи представляют собой три шестерки (666), необходимо выполнение 2-х условий:

  1. Все три ограждающих штриха должны совпадать между собой.
  2. Изображения ограждающих штрихов должны совпадать с изображением цифры 6.
Из исследования ясно видно, что:
  1. При наличии визуального сходства, имеет место только непрямое совпадение ограждающих штрихов между собой, т.к. на уровне внутреннего представления и на уровне результатов применения алгоритма распознавания ограждающие штрихи LGP/RGP не совпадают с центральным штрихом CGP.
  2. Имеет место также непрямое совпадение изображений ограждающих штрихов и цифры 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.

← Вернуться

×
Вступай в сообщество «passport13.com»!
ВКонтакте:
Я уже подписан на сообщество «passport13.com»