Открыть сервис

Штрихкод Code 128

Штрихкод Code 128 — это высокоплотный линейный (одномерный) символический штрихкод, предназначенный для кодирования цифр, букв латинского алфавита, специальных символов и управляющих кодов. Относится к классу дискретных штрихкодов с переменной длиной, поддерживающих кодирование 128 символов ASCII (от 0 до 127), чем и обусловлено его название. Code 128 широко применяется в логистике, розничной торговле, здравоохранении, производстве и системах управления складом благодаря высокой плотности записи данных и возможности кодирования больших объёмов информации на ограниченной площади.

История создания и стандартизация

Штрихкод Code 128 был разработан в 1981 году компанией Computer Identics (США) для удовлетворения растущих потребностей в кодировании более широкого набора символов, чем это позволяли существовавшие на тот момент стандарты (например, Code 39). В 1984 году символика была принята Американским национальным институтом стандартов (ANSI) и Международной организацией по стандартизации (ISO) в качестве стандарта ISO/IEC 15417:2007 (актуальная редакция). В России стандарт ISO/IEC 15417 гармонизирован с национальными стандартами, в частности с ГОСТ Р ИСО/МЭК 15417-2009 «Автоматическая идентификация. Кодирование штриховое. Спецификация символики Code 128».

Структура символа

Символ Code 128 состоит из последовательности штрихов (тёмных полос) и пробелов (светлых промежутков) переменной ширины. Каждый символ кодируется тремя штрихами и тремя пробелами, причём общая ширина одного знака (модуля) составляет 11 модулей (единиц измерения ширины). Ширина самого узкого элемента (штриха или пробела) принимается за один модуль.

Структура полного символа включает следующие обязательные элементы:

Поднаборы символов (A, B, C)

Code 128 поддерживает три взаимоисключающих поднабора (кодовых страницы), которые переключаются с помощью специальных управляющих символов (Code A, Code B, Code C) в теле сообщения. Это позволяет оптимизировать длину штрихкода в зависимости от типа данных.

ПоднаборКодируемые символыОсобенности
Code 128AЦифры (0–9), заглавные буквы (A–Z), управляющие коды (ASCII 00–95), специальные символы (пробел, !, «, #, $, %, &, ‘, (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \, ], ^, _)Оптимален для кодирования заглавных букв и управляющих символов.
Code 128BЦифры (0–9), заглавные и строчные буквы (A–Z, a–z), специальные символы (ASCII 32–127)Наиболее универсальный поднабор, поддерживает полный набор печатных символов ASCII.
Code 128CТолько цифры (0–9) в виде пар (00–99)Каждый символ кодирует две цифры, что обеспечивает максимальную плотность записи числовых данных (в два раза плотнее, чем в A или B).

Переключение между поднаборами внутри одного штрихкода позволяет кодировать смешанные данные с минимальной длиной. Например, для строки «ABC123» можно использовать поднабор B для букв, затем переключиться на C для цифр, что сократит общую длину символа.

Контрольная сумма (Check Digit)

Контрольная цифра (Check Digit) вычисляется по алгоритму, определённому в стандарте ISO/IEC 15417. Для расчёта каждому символу (включая стартовый) присваивается числовое значение от 0 до 102 в соответствии с таблицей символов Code 128. Затем вычисляется взвешенная сумма:

Полученная сумма делится на 103. Остаток от деления (от 0 до 102) соответствует контрольному символу, который добавляется перед стоповым символом. Контрольная сумма позволяет сканеру выявить ошибки считывания (например, пропуск или дублирование штриха) и запросить повторное сканирование.

Применение и распространение

Code 128 является одним из самых популярных одномерных штрихкодов в мире благодаря своей гибкости и высокой плотности. Основные области применения:

Преимущества и недостатки

Преимущества

Недостатки

Разновидности и родственные стандарты

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →