Code 128 - один из самых удобных стандартов штрихового кода для практического решения задач, связанных с маркировкой товара. Показатели символики Code 128:
- Тип кода - непрерывный.
- Самоконтроль знака - присутствует.
- Длина символа - переменная.
- Двунаправленное декодирование - присутствует.
- Контрольный знак символа - один, обязательный.
Общие сведения о стандарте Code 128
Стандарт штрих кода Code 128 существенно отличается от таких широко распространенных стандартов штрихового кода, как например, EAN. Отличия заключаются, прежде всего, в возможности кодирования не только цифр, но и букв латинского алфавита, а так же специальных символов. Кроме того, цифровой код в формате Code 128 становится очень компактным, что достигается за счет «двойной упаковки» данных, когда два числа записываются в один модуль штрих кода. Это свойство обеспечивает существенное преимущество перед стандартом Code 39. Буквенные символы кодируются обычным - «одиночным» способом, что делает буквенный код в формате Code 128 вдвое длиннее цифрового.
Технические требования к символике штрихового кода Code 128, показатели символики, кодирование знаков данных, размеры, алгоритмы декодирования, параметры применения и строки-префиксы и идентификатора символики в России регламентируются ГОСТ 30743-2001 (ИСО/МЭК 15417—2000) «Автоматическая идентификация. Кодирование штриховое. Спецификация символики Code 128 (Код 128)».
Штриховой код Code 128 включает в себя 107 символов. Из которых 103 символа данных, 3 стартовых, и 1 остановочный (стоп) символ. Для кодирования всех 128-ми символов ASCII, предусмотрено три комплекта символов штрихового кода Code 128 – A, B и C, которые могут использоваться внутри одного штрих кода.
- 128A - символы в формате ASCII от 00 до 95 (цифры от «0» до «9» и буквы от «A» до «Z») и специальные символы;
- 128B - символы в формате ASCII от 32 до 127 (цифры от «0» до «9», буквы от «A» до «Z» и от «a» до «z») и специальные символы;
- 128C - символы в формате ASCII от 00 до 99 (только для числовых кодов).
Code 128 (A128) |
Code 128 (B128) |
Code 128 (C128) |
| 
|

|

|
Структура штрих кода Code 128
Структура штрих кода Code 128 достаточно проста. Штрих код состоит из шести зон:
- Белое поле;
- Стартовый символ;
- Кодированная информация;
- Проверочный символ (контрольный знак);
- Остановочный (стоп) символ;
- Белое поле.
Символы штрихового кода Code 128 состоят из трех штрихов и трех промежутков. Штрихи и промежутки имеют модульное построение. Ширина каждого модуля составляет от 1 до 4 модулей (1 модуль = 0,33 мм). Ширина знака равна 11 модулям. Остановочный (стоп) знак состоит из тринадцати модулей и имеет четыре штриха и три промежутка.
Структура знака символов кода Code 128
Структура знака в Code 128 имеет модульное строение. Сумма модулей в любом знаке символа всегда четная – это называется «четным паритетом», а сумма модулей в пробелах всегда нечетная. Такое построение обусловлено механизмом самоконтроля знака.
Знак «Старт» |
Знак «Стоп» |
Символ числа «35» |
| 
|

|

|
Структура символа «Старт» A для Code 128 |
Структура символа «Стоп» для Code 128 |
Структура символа, кодирующего число «35» |
Выбор одного из кодируемы наборов (A,B или C) определяется знаком «Start» либо знаками «Code A», «Code B», «Code C» или «Shift». Например, если символ начинается со знака «Start A», то это означает, что используется набор символов «Code 128A». Каждому знаку символа соответствует число, которое мы приведем в таблице символов штрих кода. Именно эти числа используются для вычисления контрольной суммы символа.
Контрольный знак Code 128
В спецификации Code 128 использование контрольного знака является обязательным. Согласно Таблице символов штрих кода Code 128, каждому знаку присваивается соответствующие значение. Затем, для каждого знака, кроме знака «Stop» и контрольного знака, назначается весовой коэффициент, 1, 2, 3,...,n. При этом, знакам «Start» и следующему за ним первому знаку, присваивается весовой коэффициент равный 1. Контрольный знак вычисляется как сумма произведений весовых коэффициентов символов штрих кода на их значения по модулю 103. Располагается контрольный знак между последним знаком данных и знаком «Stop».
Таблица символов штрих кода Code 128
Значение |
Ширина штрихи/пробелы |
128A |
128B |
128C |
| 0 |
212222 |
space |
space |
0 |
| 1 |
222122 |
! |
! |
1 |
| 2 |
222221 |
" |
" |
2 |
| 3 |
121223 |
# |
# |
3 |
| 4 |
121322 |
$ |
$ |
4 |
| 5 |
131222 |
% |
% |
5 |
| 6 |
122213 |
& |
& |
6 |
| 7 |
122312 |
' |
' |
7 |
| 8 |
132212 |
( |
( |
8 |
| 9 |
221213 |
) |
) |
9 |
| 10 |
221312 |
* |
* |
10 |
| 11 |
231212 |
+ |
+ |
11 |
| 12 |
112232 |
, |
, |
12 |
| 13 |
122132 |
- |
- |
13 |
| 14 |
122231 |
. |
. |
14 |
| 15 |
113222 |
/ |
/ |
15 |
| 16 |
123122 |
0 |
0 |
16 |
| 17 |
123221 |
1 |
1 |
17 |
| 18 |
223211 |
2 |
2 |
18 |
| 19 |
221132 |
3 |
3 |
19 |
| 20 |
221231 |
4 |
4 |
20 |
| 21 |
213212 |
5 |
5 |
21 |
| 22 |
223112 |
6 |
6 |
22 |
| 23 |
312131 |
7 |
7 |
23 |
| 24 |
311222 |
8 |
8 |
24 |
| 25 |
321122 |
9 |
9 |
25 |
| 26 |
321221 |
: |
: |
26 |
| 27 |
312212 |
; |
; |
27 |
| 28 |
322112 |
< |
< |
28 |
| 29 |
322211 |
= |
= |
29 |
| 30 |
212123 |
> |
> |
30 |
| 31 |
212321 |
? |
? |
31 |
| 32 |
232121 |
@ |
@ |
32 |
| 33 |
111323 |
A |
A |
33 |
| 34 |
131123 |
B |
B |
34 |
| 35 |
131321 |
C |
C |
35 |
| 36 |
112313 |
D |
D |
36 |
| 37 |
132113 |
E |
E |
37 |
| 38 |
132311 |
F |
F |
38 |
| 39 |
211313 |
G |
G |
39 |
| 40 |
231113 |
H |
H |
40 |
| 41 |
231311 |
I |
I |
41 |
| 42 |
112133 |
J |
J |
42 |
| 43 |
112331 |
K |
K |
43 |
| 44 |
132131 |
L |
L |
44 |
| 45 |
113123 |
M |
M |
45 |
| 46 |
113321 |
N |
N |
46 |
| 47 |
133121 |
O |
O |
47 |
| 48 |
313121 |
P |
P |
48 |
| 49 |
211331 |
Q |
Q |
49 |
| 50 |
231131 |
R |
R |
50 |
| 51 |
213113 |
S |
S |
51 |
| 52 |
213311 |
T |
T |
52 |
| 53 |
213131 |
U |
U |
53 |
|
|
Значение |
Ширина штрихи/пробелы |
128A |
128B |
128C |
| продолжение таблицы |
| 54 |
311123 |
V |
V |
54 |
| 55 |
311321 |
W |
W |
55 |
| 56 |
331121 |
X |
X |
56 |
| 57 |
312113 |
Y |
Y |
57 |
| 58 |
312311 |
Z |
Z |
58 |
| 59 |
332111 |
[ |
[ |
59 |
| 60 |
314111 |
\ |
\ |
60 |
| 61 |
221411 |
] |
] |
61 |
| 62 |
431111 |
^ |
^ |
62 |
| 63 |
111224 |
_ |
_ |
63 |
| 64 |
111422 |
NUL |
` |
64 |
| 65 |
121124 |
SOH |
a |
65 |
| 66 |
121421 |
STX |
b |
66 |
| 67 |
141122 |
ETX |
c |
67 |
| 68 |
141221 |
EOT |
d |
68 |
| 69 |
112214 |
ENQ |
e |
69 |
| 70 |
112412 |
ACK |
f |
70 |
| 71 |
122114 |
BEL |
g |
71 |
| 72 |
122411 |
BS |
h |
72 |
| 73 |
142112 |
HT |
i |
73 |
| 74 |
142211 |
LF |
j |
74 |
| 75 |
241211 |
VT |
k |
75 |
| 76 |
221114 |
FF |
l |
76 |
| 77 |
413111 |
CR |
m |
77 |
| 78 |
241112 |
SO |
n |
78 |
| 79 |
134111 |
SI |
o |
79 |
| 80 |
111242 |
DLE |
p |
80 |
| 81 |
121142 |
DC1 |
q |
81 |
| 82 |
121241 |
DC2 |
r |
82 |
| 83 |
114212 |
DC3 |
s |
83 |
| 84 |
124112 |
DC4 |
t |
84 |
| 85 |
124211 |
NAK |
u |
85 |
| 86 |
411212 |
SYN |
v |
86 |
| 87 |
421112 |
ETB |
w |
87 |
| 88 |
421211 |
CAN |
x |
88 |
| 89 |
212141 |
EM |
y |
89 |
| 90 |
214121 |
SUB |
z |
90 |
| 91 |
412121 |
ESC |
{ |
91 |
| 92 |
111143 |
FS |
| |
92 |
| 93 |
111341 |
GS |
} |
93 |
| 94 |
131141 |
RS |
~ |
94 |
| 95 |
114113 |
US |
DEL |
95 |
| 96 |
114311 |
FNC 3 |
FNC 3 |
96 |
| 97 |
411113 |
FNC 2 |
FNC 2 |
97 |
| 98 |
411311 |
Shift B |
Shift A |
98 |
| 99 |
113141 |
Code C |
Code C |
99 |
| 100 |
114131 |
Code B |
FNC4 |
Code B |
| 101 |
311141 |
FNC 4 |
Code A |
Code A |
| 102 |
411131 |
FNC 1 |
FNC 1 |
FNC 1 |
| 103 |
211412 |
Start Code A |
| 104 |
211214 |
Start Code B |
| 105 |
211232 |
Start Code C |
| 106 |
2331112 |
Stop |
|
Поскольку в одном символе штрихового кода в формате Code 128 могут содержаться знаки из разных наборов (A,B или C), при вычислении контрольного знака следует учесть знаки «Code A», «Code B» или «Code C», которые при этом будут находится в символе.
Алгоритм расчета контрольного знака |
|
Пример расчета для Code 128 TRADEPILOT2010X |
| Шаг № 1: Выбрать знаки данных, исключив контрольный знак и знак «Stop». |
|
Шаг № 1: Start B, T, R, A, D, E, P, I, L, O, T, Code C, 20, 10 |
|
Шаг № 2: Определить значения для каждого знака.
|
|
Шаг № 2: 104, 52, 50, 33, 36, 37, 48, 41, 44, 47, 52, 99, 20, 10 |
|
Шаг № 3: Назначит весовые коэффициенты. Для знака «Start» и первого знака, следующего за ним, назначить коэффициент равный 1.
|
|
Шаг № 3: 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 |
|
Шаг № 4: Умножить значения на соответствующие весовые коэффициенты.
|
|
Шаг № 4:104, 52, 100, 99, 144, 185, 228, 287, 352, 423, 520, 1089, 240, 130 |
|
Шаг № 5: Сложить результаты шага № 4 |
|
Шаг № 5:104 + 52 + 100 + 99 + 144 + 185 + 228 + 287 + 352 + 423 + 520 + 1089 + 240 + 130 = 3953 |
|
Шаг № 6: Результат шага № 5 разделить на 103 |
|
Шаг № 6: 3953 ⁄ 103 = 39 |
|
Шаг № 7 : Определить знак по значению числа в остатке от деления на 103.
|
|
Шаг № 7: Значению 39 соответсвует знак «G». Это и есть контрольный знак. |
Контрольный знак символа штрихового кода в формате Code 128 не отображается при визуальном представлении.
Смотреть ГОСТ 30743-2001 (ИСО/МЭК 15417—2000) «Автоматическая идентификация. Кодирование штриховое. Спецификация символики Code 128 (Код 128)».
Скачать шрифт Code 128 в формате .ttf (True type font).
- на условиях лицензионного соглашения GNU/GPL.
Скачать шрифт Code 128ahr (набор символов «A») c человеко-читаемыми знаками в формате .ttf (True type font). - на условиях лицензионного соглашения GNU/GPL.
Скачать шрифт Code 128bhr (набор символов «B») c человеко-читаемыми знаками в формате .ttf (True type font). - на условиях лицензионного соглашения GNU/GPL.
Скачать шрифт Code 128chr (набор символов «C») c человеко-читаемыми знаками в формате .ttf (True type font). - на условиях лицензионного соглашения GNU/GPL.
Мы будем рады, если материалы этой статьи окажутся Вам полезны. Если у Вас есть вопросы, связанные с маркировкой товара, или Вы хотите внедрить систему штрихового кодирования в своем предприятии, специалисты Компании TradePilot окажут Вам в этом квалифицированную помощь.
Вы можете свободно использовать материалы этой статьи на своем информационном ресурсе, указав ссылку на наш источник.
|