
European Article Number, EAN (европейский номер товара), в дальнейшем после распространения известный также как международный артикул (International Article Number) — европейский стандарт штрихкода, предназначенный для кодирования идентификатора товара и производителя. Является надмножеством американского стандарта UPC.
Стандартизация
Стандартизацией и регистрацией кодов EAN занималась европейская ассоциация ЕАN в продолжение развития стандартов, разработанных организациями UCC (Uniform Code Council, Inc.) в США и ECCC (Electronic Commerce Council of Canada) в Канаде. В 2005 году эти организации объединились и образовали глобальную организацию по стандартизации «GS1».
Этот стандарт является универсальным для всех стран, а американская и канадская национальные организации настойчиво рекомендовали всем торговым компаниям своих стран заменить устаревшее оборудование и программы UPC, не способные считывать EAN, на современные.
Разновидности кода:
- EAN-8 (сокращённый) — кодируется 8 цифр.
- EAN-13 (полный) — кодируется 13 цифр (12 значащих + 1 контрольная сумма).
- EAN-128 — кодируется любое количество букв и цифр, объединенных в регламентированные группы.
Коды EAN-8 и EAN-13 содержат только цифры и никаких букв или других символов. Например: 2400000032632. Кодом EAN-128 кодируется любое количество букв и цифр по алфавиту Code-128. Например: (00)353912345678(01)053987(15)051230, где (15) группа обозначает срок годности 30 декабря 2005.
История разработки и отличие от UPC
Первоначально была разработана американская система штрихового кодирования Universal Product Code. Статью об этом коде настоятельно рекомендуется изучить перед чтением последующего текста. В текущей же статье пропущена та часть информации, которая для обоих кодов является идентичной, и данная статья больше описывает различия и особенности EAN-13 по сравнению с UPC.
Разработанная и внедрённая система кодировки товаров UPC в США и Канаде стала настолько популярной в супермаркетах, что европейцы также задумались о её внедрении. Стояло две задачи: обеспечить производителей определённым диапазоном кодов, отличных от американских, для кодировки производимых товаров и обеспечить возможность магазинам считывать как американские, так и европейские коды, причём желательно, чтобы на упаковке был только один, единый штрихкод, а не два кода (для США и для Европы). Для того, чтобы закодировать в коде товары других стран, необходимо было увеличить количество разрядов кода с 12 цифр, которые были в эксклюзивном владении американцев и канадцев до, как минимум, 13 цифр, чтобы использовать эту дополнительную, и первую по счёту цифру в коде в качестве условного сигнала для торговых программ, что этот товар не американского производства.
Американцам и канадцам в качестве этой цифры разработчики сразу зарезервировали нуль. У европейцев стояла и организационная задача: распределить (делегировать) определённые диапазоны значений кодов различным странам мира, для чего определили в качестве префикса региона первые три цифры, включая дополнительную тринадцатую. Вопреки заблуждению, этот префикс не означает страну происхождения товара, а лишь указывает код регионального регистратора, где зарегистрировалась компания, печатающая код на своей упаковке. Товар может быть произведён, например, в Китае, но китайская компания, зная, что товар в этой русскоязычной упаковке будет продаваться в России, законно может зарегистрировать для себя коды в российской организации GS1, и выпускать продукцию со штрихкодом, начинающимся с 460—469. И наоборот, товар может быть выпущен в России, а код может быть использован не российский. Однако чаще всего в качестве регионального кода действительно встречается код той страны, где выпущен данный товар.
Помимо организационной задачи, перед разработчиками стояла серьёзная техническая задача — сохранить совместимость кодов и одновременно возможность минимальных аппаратно-программных переделок сканеров штрихкода, тогда ещё достаточно дорогих. Важно было сохранить то же самое количество штрихов, осевую симметричность кода для его удобного чтения как в прямом, так и в обратном направлении (если товар поднесён к сканеру «вверх тормашками»), возможность чтения негативных кодов (светлые штрихи на тёмном фоне). В результате было найдено простое решение: в целях максимальной совместимости кодирование EAN было переработано из UPC так, что по-прежнему содержало только 12 «штриховых цифр» (то есть только 12 цифр в коде имеют соответствие конкретным штрихам), а дополнительная тринадцатая цифра вычислялась логическим путём. «Рисунок» EAN-13 ничем не отличается от рисунка UPC, а для кодов, начинающихся с нуля, был точной копией.
Внутренняя структура кода EAN-13
Более подробно внутренняя структура кода рассматривается в статье Universal Product Code. Основное отличие этих кодов по внутренней организации — механизм вычисления тринадцатой цифры и почти несущественное изменение в расчёте контрольного числа с учётом этой 13-й цифры.
13-я цифра




Первая цифра (в иллюстрации к статье — цифра 8) кодируется не дополнительными штрихами, а способом кодирования левой половины штрихкода (10 разновидностей). Из таблицы видно, что для кодирования первой цифры используется немного разное начертание штрихов, обозначенное буквами L и буквами G. Определённое чередование этих кодов даёт сканеру на уровне логики определить 13 цифру. Например, для цифры «1» G-код у третьей, пятой и шестой цифры, то есть встретив код, в котором G-код левой части кода расположен в этом порядке, сканер в качестве первой цифры передаст в компьютер единицу. Для цифры «2» G-код у третьей, четвёртой и шестой цифры, соответственно сканер передаст в компьютер двойку. Для других цифр эта логика отображена в таблице.
Графические различия 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, поэтому продажа товаров из других стран не вызывает проблем на их территории.
Визуальная расшифровка штрихкода
Визуально отличать ширину чёрных и белых штрихов (черные полоски шириной в 1, 2, 3, 4 условные единицы и промежутки (пробелы) между полосками шириной в 1, 2, 3, 4 условные единицы) поможет следующая таблица:
Последовательности штрихов упорядочены по возрастанию ширины штрихов. Цифры со знаком звёздочки указывают на L-G схемы кодирования цифр, то есть звёздочки нужны для определения самой первой (13-й) цифры. Геометрически ширина чёрной полоски может быть на единицу больше (по сравнению с шириной пробела) из-за того, что штрихкод иногда печатается на струйном принтере, и краска пропитывает бумагу либо размывается жидкостью.
EAN-8
Использование штрихкодов EAN-13 хотя и удобно, но не всегда возможно. Если товар имеет малые размеры, то для кода EAN-13 может не найтись достаточно места на этикетке. Уменьшение размера кода приводит к уменьшению ширины штрихов. Если штрихи будут слишком узкими, разрешающей способности сканера может оказаться недостаточно для уверенного считывания этого штрихкода. Для маркировки небольших товаров разработан стандарт штрихкода EAN-8, в теле сообщения которого кодируется только 8 цифр вместо 13.
Как показывает практика, кодом EAN-8 часто маркируются и достаточно большие по размеру товары. Причина такой маркировки кроется в минимизации ошибок считывания на высокоскоростных конвейерных линиях при автоматизации логистических задач как производителя, так и компаний, осуществляющих хранение и доставку товаров конечному потребителю.
Каждая цифра в EAN-8, как и в EAN-13, кодируется с помощью четырёх штрихов: двух белых и двух чёрных. Штрихи могут иметь относительную ширину в одну, две, три и четыре единицы. Общая ширина штрихов одной цифры составляет семь единиц. Направление чтения комбинации штрихов значения не имеет.
EAN-128 (GS1-128)

Формат EAN-128 (GS1-128) предназначен для передачи информации о грузе между промышленными предприятиями. В коде регламентирован словарь (Code-128) и группы кодов, но не регламентирована длина. Такой код может содержать различную информацию, например, код товара, сроки годности, размеры, объём, код партии производителя и др.