(ИСО/МЭК 15417-2000)
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
Автоматическая идентификация
КОДИРОВАНИЕ ШТРИХОВОЕ
Спецификация символики Code 128 (Код 128)
Издание официальное
БЗ 3-2001/42
МЕЖГОСУДАРСТВЕННЫЙ СОВЕТ
ПО СТАНДАРТИЗАЦИИ, МЕТРОЛОГИИ И СЕРТИФИКАЦИИ
М и н с кПредисловие
РАЗРАБОТАН ЗАО «Фирма ПИЛОТ» совместно с Ассоциацией автоматической идентификации ЮНИСКАН/EAN РОССИЯ/AIM РОССИЯ в рамках Межгосударственного технического комитета МТК 517 «Автоматическая идентификация»
ВНЕСЕН Госстандартом России
ПРИНЯТ Межгосударственным Советом по стандартизации, метрологии и сертификации (протокол № 19 от 24 мая 2001 г.)
За принятие проголосовали:
Наименование государства |
Наименование национального органа по стандартизации |
Азербайджанская Республика Республика Армения Республика Беларусь Республика Казахстан Кыргызская Республика Республика Молдова Российская Федерация Республика Таджикистан Туркменистан Республика Узбекистан |
Азгосстандарт Армгосстандарт Госстандарт Республики Беларусь Госстандарт Республики Казахстан Кыргызстандарт Молдовастандарт Госстандарт России Таджикстандарт Главгосслужба «Туркменстандартлары» Узгосстандарт |
Настоящий стандарт представляет собой аутентичный текст международного стандарта ИСО/МЭК 15417—2000 «Информационная технология — Технологии автоматической идентификации и сбора данных — Спецификация символики штрихового кода — Code 128»), за исключением разделов 2 и 3, примечания к 4.4.1, приложений J, K, L и М, с дополнительными требованиями, отражающими потребности экономики страны
Постановлением государственного комитета Российской Федерации по стандартизации и метрологии от 16 августа 2001 г. № 335-ст межгосударственный стандарт ГОСТ 30743—2001 (ИСО/МЭК 15417—2000) введен в действие непосредственно в качестве государственного стандарта Российской Федерации с 1 января 2002 г.
ВВЕДЕН ВПЕРВЫЕ
© ИПК Издательство стандартов, 2002
Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания на территории Российской Федерации без разрешения Госстандарта России
Введение
Технология штрихового кодирования основана на распознавании закодированных комбинаций штрихов и пробелов определенных размеров. Существует ряд способов кодирования информации в форме штрихового кода, называемых символиками. Code 128 (Код 128) — одна из таких символик. Правила, регламентирующие представление знаков в комбинациях штрихов и пробелов, и другие необходимые показатели каждой символики штрихового кода, называются спецификацией символики.
Производителям оборудования для штрихового кодирования и пользователям технологии штрихового кодирования необходимы общедоступные стандартные спецификации символик штрихового кода для разработки оборудования и программного обеспечения.Содержание
Область применения 1
Нормативные ссылки 1
Термины и определения 1
Требования 1
Показатели символики 1
Структура символа 2
Значения знаков 2
Требования к размерам 7
Рекомендуемый алгоритм декодирования 7
Качество символа 10
Параметры применения, определяемые пользователем 10
Передаваемые данные 11
Приложение А Дополнительные свойства Code 128 12
Приложение В Особые правила для функционального кода 1 (FNC1) 13
Приложение С Идентификатор символики 14
Приложение D Соотношение значений знаков символа и знаков версии КОИ-7 14
Приложение E Использование знаков Start, Code и Shift для минимизации длины символа . . 15
Приложение F Набор знаков по ИСО 8859-1 (латинский алфавит номер 1) 16
Приложение G Параметры применения, определяемые пользователем 17
Приложение H Рекомендации по использованию Code 128 17
Приложение J Перечень организаций нумерации в странах—членах МГС 19
Приложение K Набор знаков по ИСО 8859-5 (латинский/кирилловский алфавиты) 20
Приложение L Наименования и обозначения вспомогательных, управляющих и специальных графических знаков 21
Приложение M Библиография 24ГОСТ 30743-2001
(ИСО/МЭК 15417-2000)
М Е Ж Г О С У Д А Р С Т В Е Н Н Ы Й С Т А Н Д А Р Т
Автоматическая идентификация
КОДИРОВАНИЕ ШТРИХОВОЕ
Спецификация символики Code 128 (Код 128)
Automatic identification. Bar coding.
Symbology specification Code 128
Дата введения 2002—01—01
Область применения
Настоящий стандарт устанавливает технические требования к символике штрихового кода Code 128 (Код 128), показатели символики Code 128, кодирование знаков данных, размеры, алгоритмы декодирования, параметры применения, определяемые пользователями, и строки-префиксы идентификатора символики.
Нормативные ссылки
ГОСТ 27463—87 Системы обработки информации. 7-битные кодированные наборы символов
ГОСТ 27465—87 Системы обработки информации. Символы. Классификация
ГОСТ 30721—2000 / ГОСТ Р 51294.3—99 Автоматическая идентификация. Кодирование штриховое. Термины и определения
ГОСТ 34.302.2—91 (ИСО 8859-2—87) Наборы 8-битных однобайтовых кодированных графических символов. Латинский алфавит № 2
Термины и определения
В настоящем стандарте применяют термины по ГОСТ 30721.
Требования
Показатели символики
К показателям символики Code 128 относят следующие показатели:
набор кодированных знаков:
все 128 знаков версии КОИ-7 в соответствии с [1]*, то есть знаки с десятичными значениями от 0 до 127 включительно,
знаки версии КОИ-8 с десятичными значениями от 128 до 255 также могут быть закодированы,
четыре функциональных знака, не являющихся данными,
четыре знака для вызова кодируемого набора знаков,
три знака Start (СТАРТ)**,
один знак Stop (СТОП)**,
7-битный кодированный набор знаков по [1] соответствует набору ссылочной версии КОИ-7НО по ГОСТ 27463, за исключением двух знаков: в позиции 02/04 в [1] используют знак $ (ДЕНЕЖНЫЙ ЗНАК ДОЛЛАРА) (десятичное значение 37) и в позиции 7/14 — знак ~ (ТИЛЬДА) (десятичное значение 111).
* В скобках указано русское обозначение знака согласно приложению L.
Издание официальноетип кода — непрерывный;
число элементов в знаке символа — шесть, включая три штриха и три пробела, состоящие каждый из одного, двух, трех или четырех модулей по ширине (знак Stop имеет семь элементов, включающих четыре штриха и три пробела);
самоконтроль знака — присутствует;
длина символа — переменная;
двунаправленное декодирование — присутствует;
контрольный знак символа — один, обязательный (А.1);
плотность знака данных — 11 модулей в знаке символа (5,5 модулей на цифру в кодируемом наборе С);
часть символа, не содержащая данных — эквивалентна 35 модулям.
Структура символа
Символы Code 128 должны включать:
начальную свободную зону;
знак Start;
один или несколько знаков, представляющих данные и специальные знаки;
контрольный знак символа;
знак Stop;
конечную свободную зону.
На рисунке 1 представлен символ Code 128, кодирующий текст «AIM».
З
Рисунок 1 — Символ Code 128
начения знаковВ таблице 1 определены все значения знаков Code 128. В графе «Ширина элемента» числа представляют ширину элементов в виде числа модулей или кратного размеру X.
Структура знака символа
Сумма модулей в штрихах в любом знаке символа всегда должна быть четной (четный паритет), поэтому сумма модулей в пробелах всегда должна быть нечетной. Эта особенность паритета обеспечивает выполнение самоконтроля знака.
На рисунке 2 приведен знак Start A.
Рисунок 2 — Знак Start А для Code 128
Рисунок 3 — Знак символа для значения 35
На рисунке 3 приведен знак символа с закодированным значением 35, который представляет знак данных С в кодируемых наборах А или В, или две указанные цифры 35 в кодируемом наборе знаков С.
На рисунке 4 приведен знак Stop.
Кодирование знаков данных
^de 128 имеет три уникальных кодируемых набора знаков данных, приведенных в таблице 1 (наборы А, В и С). Представленные комбинации штрихов и пробелов знаков символов соответствуют
2знакам данных, приведенным в графах с заголовками «Кодируемый набор А», «Кодируемый набор В» или «Кодируемый набор С». Выбор кодируемого набора зависит от знака Start или использования
Рисунок 4 — Знак Stop для Code 128
одного из знаков Code A (Код А), Code B (Код В) или Code С (Код С), или знака Shift (РЕГИСТР). Если символ начинается со знака Start А, то изначально определен кодируемый набор А. Аналогично определяют наборы В и С, когда символ начинается со знака Start В или С соответственно. Кодируемый набор может быть изменен в пределах символа при помощи знаков Code А, Code В и Code С или знака Shift (использование этих специальных знаков в соответствии с 4.3.4.2).
Одни и те же данные могут быть представлены различными символами Code 128 с использованием различных комбинаций знаков Start, знаков кодируемых наборов Code А, Code В и Code С, и знака Shift. Применение не должно устанавливать кодируемый набор для использования. В приложении Е приведены правила, способствующие минимизации длины символа для любых данных. В дополнение к этому декодер должен декодировать символы, содержащие допустимые комбинации знаков Start, Code и Shift, помимо указанных в приложении Е, например символ со знаком ^de в конце данных.
Каждому знаку символа соответствует числовое значение, приведенное в таблице 1, которое используют для вычисления контрольного знака символа. Оно может быть также использовано для преобразований в значения КОИ-7 (КОИ-8) и обратно (приложение D).
Кодируемые наборы знаков
Кодируемый набор А
Кодируемый набор А включает все стандартные прописные латинские буквы и цифры, специальные графические знаки (знаки пунктуации) и управляющие знаки (т. е. знаки версии КОИ-7 с десятичными значениями от 00 до 95), а также семь специальных знаков.
Кодируемый набор В
Кодируемый набор В включает все стандартные прописные и строчные латинские буквы и цифры, специальные графические знаки (знаки пунктуации) (т. е. знаки версии КОИ-7 с десятичными значениями от 32 до 127 включительно), а также семь специальных знаков.
Кодируемый набор С
Кодируемый набор С включает множество из 100 цифровых пар от 00 до 99 включительно, а также три специальных знака. Этим достигается парное кодирование числовых данных в одном знаке символа.
Специальные знаки
Последние семь знаков кодируемых наборов А и В (значения знаков от 96 до 102) и последние три знака кодируемого набора С (значения знаков от 100 до 102) — специальные знаки, не являющиеся данными и не имеющие эквивалентов в знаках КОИ-7, предназначены для устройств считывания штрихового кода.
Знаки кодируемых наборов ^ode) и Shift
Знаки кодируемых наборов (Code) и знак Shift должны использоваться для изменения одного кодируемого набора на другой в пределах символа. Они не должны передаваться декодером.
Знаки кодируемых наборов
Знаки Code A, Code B или Code C изменяют ранее определенный кодируемый набор знаков символа с одного на другой набор, определенный знаком Code. Это изменение применяется ко всем знакам, следующим после знака Code до конца символа или до следующего знака Code, или знака Shift.
Таблица 1 — Кодирование знаков для Code 128
Значение знака символа |
Кодируемый набор А |
Значение КОИ-7 в наборе A |
Кодируемый набор В |
Значение КОИ-7 в наборе В |
Кодируемый набор С |
Ширина элементов, модули |
|
|
Комбинация элементов |
|
|
|||||||||||||||||||||
|
|
|
|
|
|
Ш |
П |
ш |
П |
ш |
П |
11 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
10 |
11 |
||||||||||
0 |
space |
32 |
space |
32 |
00 |
2 |
1 |
2 |
2 |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
1 |
і |
33 |
1 |
33 |
01 |
2 |
2 |
2 |
1 |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
2 |
п |
34 |
|
34 |
02 |
2 |
2 |
2 |
2 |
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
3 |
# |
35 |
# |
35 |
03 |
1 |
2 |
1 |
2 |
2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
4 |
$ |
36 |
$ |
36 |
04 |
1 |
2 |
1 |
3 |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
5 |
% |
37 |
% |
37 |
05 |
1 |
3 |
1 |
2 |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
6 |
& |
38 |
& |
38 |
06 |
1 |
2 |
2 |
2 |
1 |
3 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
7 |
apostrophe |
39 |
apostrophe |
39 |
07 |
1 |
2 |
2 |
3 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
8 |
( |
40 |
( |
40 |
08 |
1 |
3 |
2 |
2 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
9 |
) |
41 |
) |
41 |
09 |
2 |
2 |
1 |
2 |
1 |
3 |
|
|
|
|
|
|
|
|
|
|
|||||||||||
10 |
* |
42 |
* |
42 |
10 |
2 |
2 |
1 |
3 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
11 |
+ |
43 |
+ |
43 |
11 |
2 |
3 |
1 |
2 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|||||||||||
12 |
comma |
44 |
comma |
44 |
12 |
1 |
1 |
2 |
2 |
3 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
13 |
- |
45 |
- |
45 |
13 |
1 |
2 |
2 |
1 |
3 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
14 |
full Stop |
46 |
full Stop |
46 |
14 |
1 |
2 |
2 |
2 |
3 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
15 |
/ |
47 |
/ |
47 |
15 |
1 |
1 |
3 |
2 |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
16 |
0 |
48 |
0 |
48 |
16 |
1 |
2 |
3 |
1 |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
17 |
1 |
49 |
1 |
49 |
17 |
1 |
2 |
3 |
2 |
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
18 |
2 |
50 |
2 |
50 |
18 |
2 |
2 |
3 |
2 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
19 |
3 |
51 |
3 |
51 |
19 |
2 |
2 |
1 |
1 |
3 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
20 |
4 |
52 |
4 |
52 |
20 |
2 |
2 |
1 |
2 |
3 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
21 |
5 |
53 |
5 |
53 |
21 |
2 |
1 |
3 |
2 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
22 |
6 |
54 |
6 |
54 |
22 |
2 |
2 |
3 |
1 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
23 |
7 |
55 |
7 |
55 |
23 |
3 |
1 |
2 |
1 |
3 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
24 |
8 |
56 |
8 |
56 |
24 |
3 |
1 |
1 |
2 |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
25 |
9 |
57 |
9 |
57 |
25 |
3 |
2 |
1 |
1 |
2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
26 |
colon |
58 |
colon |
58 |
26 |
3 |
2 |
1 |
2 |
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
27 |
semicolon |
59 |
semicolon |
59 |
27 |
3 |
1 |
2 |
2 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
28 |
< |
60 |
< |
60 |
28 |
3 |
2 |
2 |
1 |
1 |
2 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
29 |
= |
61 |
= |
61 |
29 |
3 |
2 |
2 |
2 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
30 |
> |
62 |
> |
62 |
30 |
2 |
1 |
2 |
1 |
2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
31 |
? |
63 |
? |
63 |
31 |
2 |
1 |
2 |
3 |
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
32 |
@ |
64 |
@ |
64 |
32 |
2 |
3 |
2 |
1 |
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
33 |
A |
65 |
A |
65 |
33 |
1 |
1 |
1 |
3 |
2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
34 |
В |
66 |
В |
66 |
34 |
1 |
3 |
1 |
1 |
2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
35 |
C |
67 |
C |
67 |
35 |
1 |
3 |
1 |
3 |
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
36 |
D |
68 |
D |
68 |
36 |
1 |
1 |
2 |
3 |
1 |
3 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
37 |
E |
69 |
E |
69 |
37 |
1 |
3 |
2 |
1 |
1 |
3 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
38 |
F |
•70 |
F |
70 |
38 |
1 |
3 |
2 |
3 |
1 |
1 |
|
|
|
|
■ |
|
|
|
|
|