Линейный штриховой код
Линейный штриховой код (также одномерный штриховой код) — это способ кодирования информации в виде последовательности параллельных линий (штрихов) и пробелов различной толщины, предназначенный для считывания оптическими устройствами (сканерами). Относится к классу автоматической идентификации и сбора данных (AIDC). Основное назначение — быстрая и безошибочная передача цифрового или буквенно-цифрового идентификатора объекта (товара, документа, упаковки) в информационную систему.
История
Первые попытки автоматической идентификации товаров с помощью оптических меток относятся к 1930-м годам. В 1948 году студенты Дрексельского университета (США) Бернард Сильвер и Норман Вудленд разработали прототип системы, использующей ультрафиолетовое излучение и рисунок из концентрических окружностей (так называемый «бычий глаз»). Однако практическое применение технология получила лишь в 1970-х годах.
В 1973 году был принят универсальный стандарт Universal Product Code (UPC), разработанный компанией IBM. Первым товаром, промаркированным штриховым кодом UPC, стала упаковка жевательной резинки Wrigley’s Juicy Fruit, проданная в супермаркете в городе Трой, штат Огайо, в июне 1974 года. В 1977 году в Европе была создана система European Article Number (EAN), которая впоследствии стала международным стандартом (ныне — GS1). В СССР первые штриховые коды появились в конце 1980-х годов, а массовое внедрение началось в 1990-е.
Принцип действия
Линейный штриховой код представляет собой графическое изображение, состоящее из чередующихся тёмных (штрихов) и светлых (пробелов) элементов. Ширина каждого элемента кратна минимальной единице — модулю (X-размеру). Информация кодируется не только чередованием, но и относительной шириной штрихов и пробелов.
Считывание происходит следующим образом:
- Лазерный или светодиодный луч сканера освещает код.
- Отражённый от светлых участков свет фиксируется фотоприёмником.
- Аналоговый сигнал преобразуется в цифровой — последовательность битов (0 — пробел, 1 — штрих).
- Декодер по алгоритму, заложенному в символике, интерпретирует последовательность как цифры или символы.
Обязательными элементами любого линейного кода являются:
- Зона тишины (слева и справа) — пустое пространство, необходимое для начала и окончания считывания.
- Стартовый и стоповый символы — специальные последовательности, обозначающие границы данных.
- Контрольная цифра (контрольная сумма) — вычисляется по определённому алгоритму (например, по модулю 10) для проверки корректности считывания.
Классификация и виды символик
Существует несколько десятков стандартов (символик) линейных штриховых кодов, различающихся набором кодируемых символов, плотностью записи, алгоритмом коррекции ошибок и областью применения. Основные группы:
Дискретные (двухпозиционные) символики
Каждый символ (цифра или буква) кодируется независимой группой штрихов и пробелов. Между символами имеется межзнаковый пробел.
- Code 39 (Code 3 of 9) — одна из первых буквенно-цифровых символик. Кодирует 43 символа (цифры, заглавные буквы, знаки препинания). Широко применяется в промышленности, логистике, здравоохранении (например, маркировка образцов крови).
- Code 128 — более плотная и универсальная символика. Кодирует 128 символов ASCII (цифры, буквы верхнего и нижнего регистра, управляющие символы). Используется в транспорте, складском учёте, почтовых отправлениях.
- Interleaved 2 of 5 (ITF) — кодирует только цифры. Штрихи кодируют нечётные позиции, пробелы — чётные. Высокая плотность записи. Применяется для маркировки коробок, паллет (например, в стандарте ITF-14).
Непрерывные (многоуровневые) символики
Штрихи и пробелы кодируют информацию совместно, без межзнаковых пробелов. Позволяют достичь большей плотности.
- EAN-13 (European Article Number) — международный стандарт для розничной торговли. Состоит из 13 цифр: первые 2-3 — код страны (например, 460-469 — Россия), следующие 4-5 — код производителя, затем 5 — код товара, последняя — контрольная цифра. Является развитием UPC-A (12 цифр, США и Канада).
- EAN-8 — укороченный вариант (8 цифр) для товаров малого размера.
- UPC-A — оригинальный американский стандарт, 12 цифр. В настоящее время совместим с EAN-13 (дополняется лидирующим нулём).
Специализированные символики
- Codabar — кодирует цифры и несколько специальных символов. Используется в библиотеках, банках, медицинских учреждениях (например, для идентификации образцов).
- GS1-128 (ранее UCC/EAN-128) — расширение Code 128, позволяющее кодировать дополнительные данные (срок годности, номер партии, вес) в виде идентификаторов применения (AI). Широко применяется в цепочках поставок.
Применение
Линейные штриховые коды используются практически во всех сферах, где требуется автоматическая идентификация:
- Розничная торговля — маркировка товаров, сканирование на кассе, управление складскими запасами.
- Логистика и транспорт — идентификация грузов, посылок, контейнеров, отслеживание перемещений.
- Промышленность — учёт материалов, деталей, готовой продукции, контроль производственных процессов.
- Здравоохранение — маркировка лекарств, образцов крови, медицинских приборов, идентификация пациентов.
- Библиотечное дело — инвентаризация книг, выдача и приём изданий.
- Почтовая связь — маркировка почтовых отправлений (например, российский почтовый идентификатор — 14-значный штриховой код).
Преимущества и ограничения
Преимущества
- Скорость и точность — считывание в десятки раз быстрее ручного ввода, практически исключает ошибки.
- Низкая стоимость — печать кода на этикетке или упаковке стоит копейки.
- Простота — не требует сложного оборудования, совместим с большинством POS-систем.
- Стандартизация — международные стандарты (GS1) обеспечивают совместимость во всём мире.
Ограничения
- Малая ёмкость — максимальное количество информации (обычно 20-30 символов) недостаточно для кодирования сложных данных (описания, изображения, ссылки).
- Линейность — код считывается только в одном направлении, требует определённой ориентации относительно сканера.
- Чувствительность к повреждениям — частичное повреждение (царапина, загрязнение) может сделать код нечитаемым.
- Необходимость прямой видимости — сканер должен «видеть» код, что ограничивает применение в автоматизированных системах без точного позиционирования.
Взаимосвязь с двумерными кодами
В отличие от линейных, двумерные штриховые коды (например, QR-код, Data Matrix, PDF417) кодируют информацию по двум осям (вертикальной и горизонтальной). Они обладают значительно большей ёмкостью (до нескольких килобайт), могут содержать текст, ссылки, изображения, а также встроенные механизмы коррекции ошибок (восстановление до 30% повреждённых данных). Однако двумерные коды требуют более сложных сканеров (камерных) и большего времени на обработку. Линейные коды остаются доминирующим стандартом в розничной торговле и логистике благодаря простоте, скорости и низкой стоимости.
Интересные факты
- В 2011 году компания GS1 выпустила стандарт GS1 DataBar (RSS), который позволяет кодировать больше информации в меньшем пространстве, чем EAN-13. Внедряется для маркировки товаров малого размера (ювелирные изделия, косметика).
- В России с 2019 года действует система обязательной маркировки товаров «Честный знак», использующая двумерные коды Data Matrix, однако линейные коды остаются обязательными для розничной торговли как идентификатор товара.
- Первый в мире патент на штриховой код (№ 2 612 994) был выдан Норману Вудленду в 1952 году, но коммерческое использование началось лишь спустя 20 лет.
Источники
- GS1 General Specifications (стандарты GS1, версия 2023).
- ГОСТ Р 51294.1-99 «Штриховое кодирование. Термины и определения».
- ГОСТ Р 51294.3-99 «Штриховое кодирование. Символика EAN/UPC».
- История развития штрихового кодирования (материалы музея IBM, 2020).
- Справочник по автоматической идентификации (AIM Global, 2021).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →