Генератор штрих-кода Codabar
Codabar старше почти всего, что ещё в ежедневном ходу, — он появился в 1972 году, — и держится по одной причине: системам, которые его приняли, незачем было меняться. Службы крови, библиотеки и курьерские сети построили вокруг него свою нумерацию, а работающее оборудование не меняют ради изящества. Отличительная черта — пара букв по краям: символ начинается с A, B, C или D и заканчивается такой же буквой, и эти буквы часть данных. Какую пару ставить — не вопрос вкуса, а соглашение того, кто читает; ошибка здесь и есть самый частый способ получить отказ от системы, которая символ прекрасно прочитала.
Оформление
322 × 237 px в PNG
Спецификация
- Набор символов
- буквы и цифры
- Длина
- от 3 до 60 символов
- Контрольная цифра
- в этой символике не используется
Сгенерировать Codabar списком
Кодов нужно много, а не один? Сгенерировать Codabar списком
Где применяется
- Маркировка в службе крови, где Codabar десятилетиями нёс номера донаций и остаётся в работе рядом с более новыми стандартами
- Библиотечная выдача: читательские билеты и штрих-коды экземпляров в системах, чьи каталоги строились вокруг него
- Курьерские и авианакладные, где номер числовой, длина плавает, а считыватели уже стоят
- Конверты фотопечати и пакеты для плёнки — применение, пережившее большинство лабораторий, которые его начинали
Чем отличается
Codabar сегодня выбирают почти исключительно потому, что его уже кто-то ждёт. По сравнению с Code 39 у него уже алфавит — цифры и шесть знаков препинания, букв в полезных данных нет, — зато символ чуть плотнее, и, в отличие от Code 39, есть четыре различимые пары начала и конца, по которым система отличает вид этикетки, не разбирая номер. По сравнению с Code 128 он проигрывает по всем техническим статьям: тот плотнее, кодирует весь набор знаков и имеет обязательный контрольный знак. Честный итог такой: новой системе выбирать Codabar не стоит, а существующей не стоит от него легкомысленно отказываться — под него подобраны и этикеточные материалы, и считыватели, и правила нумерации.
Типичные ошибки
- Отбросить стартовую и стоповую буквы. Это не ограничители, которые программа дорисовывает вокруг вашего номера, а закодированные знаки, и многие системы сверяют именно их. Служба крови, ожидающая A…B, отклонит символ, пришедший как A…A, даже если цифры между ними верны.
- Считать пары взаимозаменяемыми. A, B, C и D существуют затем, чтобы разные виды этикеток различались считывателем сразу. Что означает каждая пара, решает система, а не символика, поэтому ответ на вопрос «какую ставить» всегда в требованиях принимающей стороны и никогда в общем справочнике.
- Ждать контрольного разряда. У Codabar его нет по определению. Некоторые отрасли добавляют свой — чаще всего по модулю 16, — но это надстройка над символикой, а не её часть, и считыватель, не настроенный на неё, вернёт контрольный знак как данные. Есть ли он в вашем номере, решает принимающая система.
- Ставить буквы внутрь номера. Четыре буквы живут только по краям. Сами данные — это цифры и шесть знаков: минус, доллар, двоеточие, косая черта, точка и плюс. Ничего больше. Попытка закодировать букву внутри номера — не задача на обходной приём: у символики просто нет для неё представления.
- Повторять номер между видами этикеток. Кроме цифр Codabar не несёт никакой структуры, и ничто в символе не говорит, что именно он обозначает. Системы, использующие для этого пару начала и конца, зависят от неё целиком, и партия этикеток с неверной парой опознает правильный номер как запись не того рода.
Вопросы и ответы
- Что означают буквы в начале и в конце?
- Это стартовый и стоповый знаки, и они часть закодированных данных. Доступны четыре — A, B, C и D, — что позволяет системе различать виды этикеток, не читая номер. Что означает каждая пара, определяет тот, кто задал требования к вашим этикеткам; сама символика никакого смысла им не приписывает.
- Есть ли у Codabar контрольный разряд?
- В составе символики — нет. Несколько отраслей добавляют его по соглашению, чаще всего контрольный знак по модулю 16, но это договор между печатающим и читающим, а не встроенное свойство. Если требования его предусматривают, он должен войти в кодируемые данные, а считыватель — быть настроен на его отбрасывание.
- Можно ли закодировать буквы или пробелы?
- Нет. Полезные данные ограничены десятью цифрами и шестью знаками: минус, доллар, двоеточие, косая черта, точка и плюс. Буквы встречаются только как стартовый и стоповый знаки по краям. Если номер содержит что-то ещё, Codabar для него не подходит.
- Стоит ли брать Codabar для новой системы?
- Почти наверняка нет. Code 128 плотнее, несёт полный набор знаков и имеет обязательный контрольный знак, которого у Codabar нет. Codabar уместен там, где его требуют существующие считыватели, существующие этикетки или существующие требования, — а в службе крови и в библиотеках это как раз обычное положение дел.
- Почему этикетки читаются, но система их не принимает?
- Проверьте прежде всего пару начала и конца. Символ с верными цифрами и неверными буквами читается безупречно на уровне оборудования и отклоняется на уровне приложения, потому что многие системы решают по этим буквам, к какому роду записей относится номер. Это самая частая претензия к Codabar.