Code 39
Code 39 — буквенно-цифровой линейный штрих-код, применяемый в промышленности, госсекторе и военной логистике с возможностью расширения до Full ASCII.
Определение Code 39
Code 39 — один из первых линейных буквенно-цифровых штрих-кодов, разработанный в 1974 году компанией Intermec и описанный стандартом ISO/IEC 16388. Также известен как Code 3 of 9 — название отражает структуру: каждый символ состоит из 9 элементов (5 полос и 4 пробела), из которых 3 широкие и 6 узких. Это был первый штрих-код, способный кодировать буквы наряду с цифрами, что открыло применение в промышленности и госсекторе.
Базовый Code 39 поддерживает 43 символа: цифры 0–9, заглавные буквы A–Z, пробел и символы «-», «.», «$», «/», «+», «%». В 1980-х появился вариант Code 39 Full ASCII, который через комбинации двух символов кодирует все 128 ASCII-знаков, включая строчные буквы и управляющие символы. Code 39 считается самопроверяемым: ошибки печати обычно приводят к нечитаемости, а не к ложному декодированию.
Как работает Code 39
Каждый символ Code 39 закодирован 5 чёрными полосами и 4 пробелами, всего 9 элементов. Три из них широкие (в 2–3 раза шире остальных), шесть — узкие. Отсюда и название «3 из 9». Между символами ставится дополнительный межсимвольный пробел. Стартовый и стоповый символ — звёздочка «*», которая никогда не используется в данных.
Контрольная сумма в Code 39 опциональна и вычисляется по модулю 43: суммируются позиционные значения символов, берётся остаток от деления на 43, по таблице находится соответствующий символ и добавляется в конец. Многие реализации не используют контрольную сумму, полагаясь на самопроверяемость структуры, однако в критичных применениях (госсектор, армия) её включают обязательно.
Где применяется Code 39
- Армия США — стандарт MIL-STD-1189B для маркировки военного имущества
- Автопром — стандарт AIAG для маркировки комплектующих
- Медицина — идентификация инструментов и оборудования
- Библиотеки — штрих-коды книг и каталожных карточек
- Промышленность — маркировка оборудования, инвентарный учёт
- Госсектор — удостоверения сотрудников, пропуска
Code 39 vs Code 128
| Параметр | Code 39 | Code 128 |
|---|---|---|
| Набор символов | 43 (базовый) или 128 (Full ASCII) | 128 ASCII |
| Плотность | Низкая (13 модулей на символ) | Высокая (11 модулей) |
| Контрольная сумма | Опциональная (MOD 43) | Обязательная (MOD 103) |
| Стартовый символ | «*» (звёздочка) | Специальные A/B/C |
| Типичное применение | Армия, автопром, библиотеки | Логистика, склады |
История и стандартизация
Code 39 был создан в 1974 году инженерами Дэвидом Олли и Рэем Стивенсом из Intermec. Первоначально разрабатывался для промышленного применения как альтернатива Interleaved 2 of 5, способная кодировать буквы. В 1981 году Министерство обороны США приняло Code 39 как основу стандарта LOGMARS (Logistics Applications of Automated Marking and Reading Symbols). В 1983 году Automotive Industry Action Group (AIAG) утвердила Code 39 для маркировки автозапчастей. В 2007 году утверждён ISO/IEC 16388.
Связанные концепции
- Code 128 — более плотный современный стандарт.
- EAN-13 — розничный 13-значный код.
- Штрих-код — общее понятие для всех 1D и 2D форматов.
Частые вопросы
Почему Code 39 называется «3 из 9»?
Название отражает структуру каждого символа: 9 элементов (5 чёрных полос и 4 пробела), из которых 3 широкие (примерно в 2–3 раза шире остальных) и 6 узких. Различные комбинации «широкое/узкое» формируют 43 символа базового алфавита. Код был первым буквенно-цифровым линейным форматом и одним из самых простых для печати, что обеспечило его массовое внедрение в промышленности и госсекторе в 1970-80-х годах.
В чём отличие Code 39 от Code 39 Full ASCII?
Базовый Code 39 поддерживает только 43 символа: цифры, заглавные буквы и 7 знаков. Full ASCII расширяет набор до всех 128 символов ASCII через комбинации двух базовых. Например, строчная «a» кодируется как «+A», а знак «@» — как «%V». Это увеличивает длину кода вдвое для строчных букв и спецсимволов, но даёт совместимость с полным ASCII без перехода на Code 128.
Нужна ли контрольная сумма в Code 39?
Контрольная сумма Code 39 опциональна — вычисляется по модулю 43 и добавляется в конец кода перед стоповым символом. В большинстве применений её не используют, полагаясь на самопроверяемость структуры «3 из 9»: ошибка печати обычно делает код нечитаемым, а не декодируемым в неправильные данные. Однако в критичных сферах (армия, медицина) контрольную сумму включают обязательно для дополнительной надёжности.
Где применяется Code 39 сегодня?
Code 39 остаётся стандартом в армии США (MIL-STD-1189B), автопроме (AIAG), библиотеках и части госсектора. В розничной торговле и современной логистике он вытеснен более плотными форматами — EAN-13 и Code 128. Однако там, где уже внедрено оборудование и процессы под Code 39, его продолжают использовать из соображений обратной совместимости. В России Code 39 встречается реже, чем Code 128 и EAN-13.
Можно ли генерировать Code 39 бесплатно?
Да, Code 39 — открытый стандарт ISO/IEC 16388 без патентных ограничений и роялти. Любой генератор штрих-кодов, включая QRkoder, создаёт Code 39 бесплатно. Нужно только указать текст в пределах допустимого алфавита (цифры, заглавные буквы, 7 спецзнаков) или включить режим Full ASCII для расширенного набора. Для промышленного применения рекомендуется добавлять контрольную сумму MOD 43.