gifts2017

Код EAN13, также называемый Gencode-ом

Опубликовал Елена (Lyekka) в раздел Управление - Пользователю системы

Без этого кода жить не могут товароведы, а распространение товаров не было бы столь обширным
(UPC-A и EAN8 также рассматриваются)....
<img src="http://grandzebu.net/informatique/codbar/ean13.png">
Перевод не окончен.
Картинки нагло стырены.. когда-нибудь будут переведены на хостинг фотобакет.. если меня не заломает под конец
Данный код, используемый на всех потребительских продуктах, содержит 12 цифр, тринадцатая цифра - есть контрольный ключ, который мы и будем генерировать. Но позволим себе пару небольших примечаний.

Используемый в США UPC-A штрихкод

Содержит всего 11 цифр и ключ. Фактически представляет собой код EAN13, первая цифра которого - ноль, и который используется немного по-другому. Тип код UPC-A является подмножеством типа EAN13.Например:
Два этих штрихкода идентичны. Мы поставили ноль перед UPC-A кодом, чтобы получить код EAN13, но структуры полос идентичны.С начала 2005 года все магазины США должны принимать код EAN13, нет больше причин создавать UPC-A код

Значение цифр

- 2 цифр для кода страны или кода системы
- 5 цифр для идентификации общества (? - не товаровед, не знаю, что за общество - прим. Lyekka)
- 5 цифр для идентификации продукции
- 1 цифра контрольной суммы.
Это правило часто нарушают, с тем чтобы увеличить использование доступных цифр.
Вот список кодов стран или системных кодов:
00 A 13 Соединенные Штаты и Канада
20 29 Номера в магазине
30 A 37 Франция
380 Болгария
383 Словения
385 Хорватия
387 Босния-Герцеговина
400 A 440 Германия
45 49 Япония
460 à 469 Российская Федерация
471 Тайвань
474 Эстония
475 Латвия
476 Азербайджан
477 Литва
478 Узбекистан
479 Шри-Ланка
480 Филиппины
481 Беларусь
482 Украина
484 Республика Молдова
485 Армения
486 Грузия
487 Казахстан
489 Гонг Конг
50 Уганда
520 Греция
528 Ливан
529 Кипр
531 Македония
535 Мальта
539 Ирландия
54 Бельгия560 Португалия569 Iseland57 Дания590 Польша594 Румыния599 Венгрия600 - 601 Южная Африка609 Маврикий611 Марокко613 Алжир616 Кения619 Тунис621 Сирийская Арабская Республика622 Египет624 Ливийская Арабская Джамахирия625 Иордания626 Исламская Республика Иран627 Кувейт628 Саудовская Аравия629 Объединенные Арабские Эмираты64 Финляндия690 - 693 Китай70 Норвегия729 Израиль73 Швеция740 Гватемала741 Сальвадор742 Гондурас743 Никарагуа744 Коста-Рика745 Панама746 Доминиканская республика750 Мексика759 Венесуэла76 Швейцария770 Колумбия773 Уругвай775 Перу777 Боливия779 Аргентина780 Чили784 Парагвай786 Эквадор789 Бразилия80 А 83 Италия84 Испания850 Кубе858 Словакия859 Чешская Республика860 Югославия)867 Корейская Народно-Демократическая Республика Корея869 Турция87 Нидерланды880 Республика Корея885 Таиланд888 Сингапур890 Индия893 Вьетнам899 Индонезия90 - 91 Австрия93 Австралия94 Новая Зеландия955 Малайзия958 Макао977 Периодические издания(ISSN)978 - 979 Книги (ISBN)980 Refund receipts981 - 982 Common currency coupons99 Coupons*последние три - что-то бухгалтерское: уточню - переведу.**почему-бы этому долбанному HTML-редактору самому бы не поставить BR-ы.... >_

Теперь давайте посмотрим на расчет контрольной суммы

Цифры нумеруются справа налево.
Пусть X - сумма четных (по нумерации - прим. Lyekka) цифр, Y - сумма нечетных (по нумерации) цифр.
Расчитаем Z по формуле: z = x + 3 * y
Пусть M - число, которое делится на 10 и непосредственно больше Z.
Контрольная сумма есть m - z

Пример: 978020113447
x = 4 + 3 + 1 + 2 + 8 + 9 = 27
y = 7 + 4 + 1 + 0 + 0 + 7 = 19
z = 3 * 19 + 27 = 84
m = 90
Контрольная сумма= 90 - 84 = 6
EAN13 ---> 9 780201 134476

Теперь разберем систему кодирования

* Первая цифра не кодируется, но она определяет таблицы, которые должны быть использованы для кодирования следующих 6 цифр.
* Ширина тонкой полосы (0,33 мм в стандарте) называется модулем.
* Существуют полосы из 1, 2, 3 или 4 модулей; в равной степени для пробелов.
* Каждая цифра кодируется 7 модулями, каждый из которых содержит 2 полосы и 2 пробела.

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Kivals (kivals) 12.11.08 23:23
- 2 цифр для кода страны или кода системы
- 5 цифр для идентификации общества (? - не товаровед, не знаю, что за общество - прим. Lyekka)
- 5 цифр для идентификации продукции
- 1 цифра контрольной суммы.
Это правило часто нарушают, с тем чтобы увеличить использование доступных цифр.

Близко к правде, но не совсем. Определеный 2-х и 3-х циферные коды стран и цифра контрольной суммы, а за деление на идентификацию компании (общества) и товар в компании отвечают Национальные организации EAN International (сейчас переименованную в GS1: http://www.gs1.org/): Украина: http://www.gs1ua.org , Россия: http://www.gs1ru.org . Причем (цитата с www.gs1ru.org): Штриховой код не может служить свидетельством страны происхождения товара. По префиксу можно определить только в какой Национальной организации зарегистрировано то или иное предприятие.
2. Kivals (kivals) 12.11.08 23:31
Упсь. Уже все префиксы считаются состоящими из 3-х цифр: http://www.gs1.org/productssolutions/barcodes/support/prefix_list.html
3. Елена (Lyekka) 13.11.08 09:21
Спасибо за замечания.
Вообще да .. .как тот же Кувейт поместится в 2 цифры +))))
4. Test Testers (chetirepda) 09.02.12 09:08
Основное отличие этих кодов по внутренней организации — механизм вычисления тринадцатой цифры и почти несущественное изменение в расчёте контрольного числа с учётом этой 13-й цифры.
[править]13-я цифра

Структура кода EAN-13
Первая
цифра Первая (левая)
группа из 6 цифр Вторая (правая)
группа из 6 цифр
0 LLLLLL RRRRRR
1 LLGLGG RRRRRR
2 LLGGLG RRRRRR
3 LLGGGL RRRRRR
4 LGLLGG RRRRRR
5 LGGLLG RRRRRR
6 LGGGLL RRRRRR
7 LGLGLG RRRRRR
8 LGLGGL RRRRRR
9 LGGLGL RRRRRR
Первая цифра (в иллюстрации к статье — цифра 5) кодируется не дополнительными штрихами, а способом кодирования левой половины штрих-кода (10 разновидностей). Из таблицы видно, что для кодирования первой цифры используется немного разное начертание штрихов, обозначенное буквами L и буквами G. Определённое чередование этих кодов даёт сканеру на уровне логики определить 13 цифру. Например, для цифры «1» G-код у третьей, пятой и шестой цифры, то есть встретив код, в котором G-код левой части кода расположен в этом порядке, сканер в качестве первой цифры передаст в компьютер единицу. Для цифры «2» G-код у третьей, четвёртой и шестой цифры, соответственно сканер передаст в компьютер двойку. Для других цифр эта логика отображена в таблице.
Кодирование цифр
Цифра L-код R-код G-код
0 0001101 1110010 0100111
1 0011001 1100110 0110011
2 0010011 1101100 0011011
3 0111101 1000010 0100001
4 0100011 1011100 0011101
5 0110001 1001110 0111001
6 0101111 1010000 0000101
7 0111011 1000100 0010001
8 0110111 1001000 0001001
9 0001011 1110100 0010111
Графические отличия L-кода, R-кода и G-кода состоят в следующем. Для каждой цифры это одна и та же комбинация чёрно-белых штрихов, L-код отличается от R-кода лишь фотографически негативным исполнением, а G-код отличается от R-кода реверсивным (зеркальным) исполнением.
Для цифры 0 в коде ни для одной из шести цифр левой части кода нет ни одного преобразования в зеркально-негативный вид, то есть все штрихи кодируются L-кодом, как в UPC. EAN-сканер, встретив код без штрихов с G-кодом, передаёт в компьютер первую цифру 0. В свою очередь, если этот код прочитает уже редко применяемый сканер штрихкодов UPC, то он будет просто прочитан как «родной» код UPC. Если же сканер UPC встретит на своём пути штриховку с G-кодом, то он не сможет считать этот код и выдаст ошибку или не заметит и не передаст в компьютер никакого кода. Этим и обеспечена полная совместимость «снизу-вверх».
Таким образом, UPC может считаться частным случаем, подмножеством кода EAN-13, у которого первая цифра есть 0 и которая часто не указывается в виде арабской цифры, тогда эти коды ничем не отличаются друг от друга по рисунку. Была полностью сохранена возможность чтения «американских» кодов на «европейских» сканерах, но не наоборот. Код EAN-13 и его 13-я цифра в свою очередь формируется «игрой» негативности-реверсивности последовательности штрихов в левой части кода, в результате чего «американские» сканеры UPC читать европейский код не в состоянии, но обеспечена максимальная «похожесть» кодов друг на друга. С течением времени в США и Канаде этот тип сканеров уже вытеснен из магазинов, и установлены сканеры, способные считывать кодировку EAN-13, поэтому продажа товаров из других стран не вызывает проблем на их территории.
5. Test Testers (chetirepda) 09.02.12 09:54
Визуально отличать ширину черных и белых штрихов (черные полоски шириной в 1, 2, 3, 4 условные единицы и промежутки (пробелы) между полосками шириной в 1, 2, 3, 4 условные единицы) поможет следующая таблица:
Кодирование цифр
Штрихи Цифра
1-1-1-4 6
1-1-2-3 0*
1-1-3-2 4
1-1-4-1 3*
1-2-1-3 8
1-2-2-2 1*
1-2-3-1 5
1-3-1-2 7
1-3-2-1 5*
1-4-1-1 3

2-1-1-3 9*
2-1-2-2 2
2-1-3-1 7*
2-2-1-2 2*
2-2-2-1 1
2-3-1-1 4*

3-1-1-2 9
3-1-2-1 8*
3-2-1-1 0

4-1-1-1 6*
Последовательности штрихов упорядочены по возрастанию ширины штрихов. Цифры со знаком звездочки указывают на L-G схемы кодирования цифр, то есть звездочки нужны для определения самой первой (13-й) цифры. Геометрически ширина черной полоски может быть на единицу шире (по сравнению с шириной пробела) из-за того, что штрих-код иногда печатается на струйном принтере, и краска пропитывает бумагу либо размывается жидкостью.
6. Test Testers (chetirepda) 09.02.12 09:55
Первоначально была разработана американская система штрихового кодирования Universal Product Code. Статью об этом коде настоятельно рекомендуется изучить перед чтением последующего текста. В текущей же статье пропущена та часть информации, которая для обоих кодов является идентичной, и данная статья больше описывает отличия и особенности EAN-13 по сравнению с UPC.
Разработанная и внедрённая система кодировки товаров UPC в США и Канаде стала настолько популярной в супермаркетах, что европейцы также задумались о ее внедрении. Стояло две задачи: обеспечить производителей определённым диапазоном кодов, отличных от американских, для кодировки производимых товаров и обеспечить возможность магазинам считывать как американские, так и европейские коды, причем желательно, чтобы на упаковке был только один, единый штрихкод, а не два кода (для США и для Европы). Для того, чтобы закодировать в коде товары других стран, необходимо было увеличить количество разрядов кода с 12 цифр, которые были в эксклюзивном владении американцев и канадцев до, как минимум, 13 цифр, чтобы использовать эту дополнительную, и первую по счёту цифру в коде в качестве условного сигнала для торговых программ, что этот товар не американского производства.
Американцам и канадцам в качестве этой цифры разработчики сразу зарезервировали ноль. У европейцев стояла и организационная задача: распределить (делегировать) определённые диапазоны значений кодов различным странам мира, для чего определили в качестве префикса региона первые три цифры, включая дополнительную тринадцатую. Вопреки заблуждению, этот префикс не означает страну происхождения товара, а лишь указывает код регионального регистратора, где зарегистрировалась компания, печатающая код на своей упаковке. Товар может быть произведён, например, в Китае, но китайская компания, зная, что товар в этой русскоязычной упаковке будет продаваться в России, законно может зарегистрировать для себя коды в российской организации GS1, и выпускать продукцию со штрихкодом, начинающимся с 460—469. И наоборот, товар может быть выпущен в России, а код может быть использован не российский. Однако чаще всего в качестве регионального кода действительно встречается код той страны, где выпущен данный товар.
Помимо организационной задачи, перед разработчиками стояла серьёзная техническая задача — сохранить совместимость кодов и одновременно возможность минимальных аппаратно-программных переделок сканеров штрихкода, тогда ещё достаточно дорогих. Важно было сохранить то же самое количество штрихов, осевую симметричность кода для его удобного чтения как в прямом, так и в обратном направлении (если товар поднесён к сканеру «вверх-тормашками»), возможность чтения негативных кодов (светлые штрихи на тёмном фоне). В результате было найдено простое решение: в целях максимальной совместимости кодирование EAN было переработано из UPC так, что по-прежнему содержало только 12 «штриховых цифр» (то есть только 12 цифр в коде имеют соответствие конкретным штрихам), а дополнительная тринадцатая цифра вычислялась логическим путём. «Рисунок» EAN-13 ничем не отличается от рисунка UPC, а для кодов, начинающихся с нуля был точной копией.