Краткое наименование страны по МК (ISO 3166) 004-97
|
Код страны по МК (ISO 3166) 004-97
|
Сокращенное наименование национального органа по стандартизации
|
Азербайджан
|
AZ
|
Азстандарт
|
Беларусь
|
BY
|
Госстандарт Республики Беларусь
|
Кыргызстан
|
KG
|
Кыргызстандарт
|
Молдова
|
MD
|
Молдова-Стандарт
|
Российская Федерация
|
RU
|
Росстандарт
|
Узбекистан
|
UZ
|
Узстандарт
|
Украина
|
UA
|
Госпотребстандарт Украины
|
Диапазон значений
|
Группа
|
Сумма предыдущих групп G
SUM
|
Отношение числа модулей в нечетном/четном поднаборах
|
Отношение значений самых широких элементов в нечетном/четном поднаборах, модули
|
Общее число комбинаций элементов нечетного поднабора T
ODD
|
Общее число комбинаций элементов четного поднабора T
EVEN
|
От 0 до 160
|
1
|
0
|
12/4
|
8/1
|
161
|
1
|
От 161 до 960
|
2
|
161
|
10/6
|
6/3
|
80
|
10
|
От 961 до 2014
|
3
|
961
|
8/8
|
4/5
|
31
|
34
|
От 2015 до 2714
|
2015
|
6/10
|
3/6
|
10
|
70
|
|
От 2715 до 2840
|
5
|
2715
|
4/12
|
1/8
|
1
|
126
|
Диапазон значений
|
Группа
|
Сумма предыдущих групп G
SUM
|
Отношение числа модулей в нечетном/четном поднаборах
|
Отношение значений самых широких элементов в нечетном/четном поднаборах, модули
|
Общее число комбинаций элементов нечетного поднабора T
ODD
|
Общее число комбинаций элементов четного поднабора T
EVEN
|
От 0 до 335
|
1
|
0
|
5/10
|
2/7
|
4
|
84
|
От 336 до 1035
|
2
|
336
|
7/8
|
4/5
|
20
|
35
|
От 1036 до 1515
|
3
|
1036
|
9/6
|
6/3
|
48
|
10
|
От 1516 до 1596
|
4
|
1516
|
11/4
|
8/1
|
81
|
1
|
Внешний знак символа
|
Внутренний знак символа
|
Пара знаков символа
|
|||
Структура (n,k)
|
Число комбинаций (V
OUTSIDE
)
|
Структура (n,k)
|
Число комбинаций (V
INSIDE
)
|
Число комбинаций
|
Диапазон значений
|
(16,4)
|
2841
|
(15,4)
|
1597
|
4537077
|
От 0 до 4537076
|
Вариант шаблона поиска
|
Ширина элемента в модулях (при нумерации снаружи вовнутрь) для элемента с номером
|
||||
1
|
2
|
3
|
4
|
5
|
|
0
|
3
|
8
|
2
|
1
|
1
|
1
|
3
|
5
|
5
|
1
|
1
|
2
|
3
|
3
|
7
|
1
|
1
|
3
|
3
|
1
|
9
|
1
|
1
|
4
|
2
|
7
|
4
|
1
|
1
|
5
|
2
|
5
|
6
|
1
|
1
|
6
|
2
|
3
|
8
|
1
|
1
|
7
|
1
|
5
|
7
|
1
|
1
|
8
|
1
|
3
|
9
|
1
|
1
|
Номер знака символа
|
Весовой коэффициент для элемента с номером
|
|||||||
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
|
1
|
1
|
3
|
9
|
27
|
2
|
6
|
18
|
54
|
2
|
4
|
12
|
36
|
29
|
8
|
24
|
72
|
58
|
3
|
16
|
48
|
65
|
37
|
32
|
17
|
51
|
74
|
4
|
64
|
34
|
23
|
69
|
49
|
68
|
46
|
59
|
Диапазон значений
|
Группа
|
Сумма предыдущих групп G
SUM
|
Отношение числа модулей в нечетном/четном поднаборах
|
Отношение значений самых широких элементов в нечетном/четном поднаборах, модули
|
Общее число комбинаций элементов нечетного поднабора T
ODD
|
Общее число комбинаций элементов четного поднабора T
EVEN
|
От 0 до 183063
|
1
|
0
|
17/9
|
6/3
|
6538
|
28
|
От 183064 до 820063
|
2
|
183064
|
13/13
|
5/4
|
875
|
728
|
От 820064 до 1000775
|
820064
|
9/17
|
3/6
|
28
|
6454
|
|
От 1000776 до 1491020
|
4
|
1000776
|
15/11
|
5/4
|
2415
|
203
|
От 1491021 до 1979844
|
5
|
1491021
|
11/15
|
4/5
|
203
|
2408
|
От 1979845 до 1996938
|
6
|
1979845
|
19/7
|
8/1
|
17094
|
1
|
От 1996939 до 2013570
|
7
|
1996939
|
7/19
|
1/8
|
1
|
16632
|
Номер знака символа
|
Весовой коэффициент элемента с номером (при нумерации слева направо)
|
|||||||||||||
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
|
1
|
1
|
3
|
9
|
27
|
81
|
65
|
17
|
51
|
64
|
14
|
42
|
37
|
22
|
66
|
2
|
20
|
60
|
2
|
6
|
18
|
54
|
73
|
41
|
34
|
13
|
39
|
28
|
84
|
74
|
Диапазон значений
|
Группа
|
Сумма предыдущих групп G
SUM
|
Соотношение числа модулей в нечетных/четных поднаборах
|
Соотношение значений самых широких элементов в нечетных/четных поднаборах, модули
|
Общее число комбинаций элементов нечетного поднабора T
ODD
|
Общее число комбинаций элементов четного поднабора T
EVEN
|
От 0 до 347
|
1
|
0
|
12/5
|
7/2
|
87
|
4
|
От 348 до 1387
|
2
|
348
|
10/7
|
5/4
|
52
|
20
|
От 1388 до 2947
|
3
|
1388
|
8/9
|
4/5
|
30
|
52
|
От 2948 до 3987
|
4
|
2948
|
6/11
|
3/6
|
10
|
104
|
От 3988 до 4191
|
5
|
3988
|
4/13
|
1/8
|
1
|
204
|
Число знаков символа
|
Число знаков символа для данных
|
Число битов в кодированной строке
|
4
|
3
|
36
|
5
|
4
|
48
|
6
|
5
|
60
|
7
|
6
|
72
|
8
|
7
|
84
|
9
|
8
|
96
|
10
|
9
|
108
|
11
|
10
|
120
|
12
|
11
|
132
|
13
|
12
|
144
|
14
|
13
|
156
|
15
|
14
|
168
|
16
|
15
|
180
|
17
|
16
|
192
|
18
|
17
|
204
|
19
|
18
|
216
|
20
|
19
|
228
|
21
|
20
|
240
|
22
|
21
|
252
|
Значение поля метода кодирования
|
Число знаков символа
|
Длина поля уплотненных данных, биты
<1>
|
Наличие поля универсального уплотнения данных
|
Идентификаторы применения AI в строках элементов
|
1
|
От 5 до 22
|
44
|
Да
|
(01) и прочие AI
|
00
|
От 4 до 22
|
Не регламентируется
|
Да
|
Любые AI
|
0100
|
6 (фиксированная длина)
|
55
|
Нет
|
(01) и (3103)
|
0101
|
6 (фиксированная длина)
|
55
|
Нет
|
(01) и (3202)/(3203)
|
01100
|
От 6 до 22
|
42
|
Да
|
(01) и (392x)
|
01101
|
От 7 до 22
|
52
|
Да
|
(01) и (393x)
|
0111000
|
8 (фиксированная длина)
|
76
|
Нет
|
(01), (310x) и (11)
|
0111001
|
8 (фиксированная длина)
|
76
|
Нет
|
(01), (320x) и (11)
|
0111010
|
8 (фиксированная длина)
|
76
|
Нет
|
(01), (310x) и (13)
|
0111011
|
8 (фиксированная длина)
|
76
|
Нет
|
(01), (320x) и (13)
|
0111100
|
8 (фиксированная длина)
|
76
|
Нет
|
(01), (310x) и (15)
|
0111101
|
8 (фиксированная длина)
|
76
|
Нет
|
(01), (320x) и (15)
|
0111110
|
8 (фиксированная длина)
|
76
|
Нет
|
(01), (310x) и (17)
|
0111111
|
8 (фиксированная длина)
|
76
|
Нет
|
(01), (320x) и (17)
|
Метод "0111000"
|
AI (01) + AI (310x) + AI (11)
|
Масса нетто предмета в метрических единицах величин и дата изготовления
|
Метод "0111001"
|
AI (01) + AI (320x) + AI (11)
|
Масса нетто предмета в неметрических (британских) единицах величин и дата изготовления
|
Метод "0111010"
|
AI (01) + AI (310x) + AI (13)
|
Масса нетто предмета в метрических единицах величин и дата упаковывания
|
Метод "0111011"
|
AI (01) + AI (320x) + AI (13)
|
Масса нетто предмета в неметрических (британских) единицах величин и дата упаковывания
|
Метод "0111100"
|
AI (01) + AI (310x) + AI (15)
|
Масса нетто предмета в метрических единицах величин и дата реализации
|
Метод "0111101"
|
AI (01) + AI (320x) + AI (15)
|
Масса нетто предмета в неметрических (британских) единицах величин и дата реализации
|
Метод "0111110"
|
AI (01) + AI (310x) + AI (17)
|
Масса нетто предмета в метрических единицах величин и дата окончания срока годности
|
Метод "0111111"
|
AI (01) + AI (320x) + AI (17)
|
Масса нетто предмета в неметрических (британских) единицах величин и дата окончания срока годности
|
Кодируемый(е) знак(и)
|
Закодированные двоичные величины
|
Пары "цифра - цифра", "цифра - знак FNC1" и "знак FNC1 - цифра"
|
От 0001000 до 1111111
|
Указатель фиксации схемы алфавитно-цифрового кодирования
|
0000
|
Знаки
|
Десятичные значения знаков ASCII
|
Закодированное значение
|
Закодированные двоичные данные
|
0 - 9
|
48 - 57
|
Десятичное значение ASCII минус 43 (5 битов)
|
От 00101 до 01110
|
Знак FNC1/указатель фиксации схемы числового кодирования
|
|
15 (5 битов)
|
01111
|
A - Z
|
65 - 90
|
Десятичное значение ASCII минус 33 (6 битов)
|
От 100000 до 111001
|
* (ЗВЕЗДОЧКА)
|
42
|
58 (6 битов)
|
111010
|
, (ЗАПЯТАЯ)
|
44
|
59 (6 битов)
|
111011
|
- (МИНУС или дефис)
|
45
|
60 (6 битов)
|
111100
|
. (ТОЧКА в конце предложения или ТОЧКА как разделитель разрядов в десятичном числе
<1>
)
|
46
|
61 (6 битов)
|
111101
|
/ (ДРОБНАЯ ЧЕРТА)
|
47
|
62 (6 битов)
|
111110
|
Схема числового кодирования
|
|
0 (3 бита)
|
000
|
Указатель фиксации схемы кодирования знаков по ISO/IEC 646
|
|
4 (5 битов)
|
00100
|
Знаки
|
Десятичные значения знаков ASCII
|
Кодируемое значение
|
Закодированные двоичные данные
|
0 - 9
|
48 - 57
|
Десятичное значение ASCII минус 43 (5 битов)
|
От 00101 до 01110
|
FNC1/указатель фиксации схемы числового кодирования
|
|
15 (5 битов)
|
01111
|
A - Z
|
65 - 90
|
Десятичное значение ASCII минус 1 (7 битов)
|
От 1000000 до 1011001
|
a - z
|
97 - 122
|
Десятичное значение ASCII минус 7 (7 битов)
|
От 1011010 до 1110011
|
! (ВОСКЛИЦАТЕЛЬНЫЙ ЗНАК)
|
33
|
232 (8 битов)
|
11101000
|
" (КАВЫЧКА)
|
34
|
233 (8 битов)
|
11101001
|
% (ПРОЦЕНТЫ)
|
37
|
234 (8 битов)
|
11101010
|
& (КОММЕРЧЕСКОЕ И)
|
38
|
235 (8 битов)
|
11101011
|
' (АПОСТРОФ)
|
39
|
236 (8 битов)
|
11101100
|
( (СКОБКА ЛЕВАЯ)
|
40
|
237 (8 битов)
|
11101101
|
) (СКОБКА ПРАВАЯ)
|
41
|
238 (8 битов)
|
11101110
|
* (ЗВЕЗДОЧКА)
|
42
|
239 (8 битов)
|
11101111
|
+ (ПЛЮС)
|
43
|
240 (8 битов)
|
11110000
|
, (ЗАПЯТАЯ)
|
44
|
241 (8 битов)
|
11110001
|
- (МИНУС или ДЕФИС)
|
45
|
242 (8 битов)
|
11110010
|
. (ТОЧКА в конце предложения или ТОЧКА
<1>
)
|
46
|
243 (8 битов)
|
11110011
|
/ (ДРОБНАЯ ЧЕРТА)
|
47
|
244 (8 битов)
|
11110100
|
: (ДВОЕТОЧИЕ)
|
58
|
245 (8 битов)
|
11110101
|
; (ТОЧКА С ЗАПЯТОЙ)
|
59
|
246 (8 битов)
|
11110110
|
< (МЕНЬШЕ)
|
60
|
247 (8 битов)
|
11110111
|
= (РАВНО)
|
61
|
248 (8 битов)
|
11111000
|
> (БОЛЬШЕ)
|
62
|
249 (8 битов)
|
11111001
|
? (ВОПРОСИТЕЛЬНЫЙ ЗНАК)
|
63
|
250 (8 битов)
|
11111010
|
_ (ПОДЧЕРКИВАНИЕ)
|
95
|
251 (8 битов)
|
11111011
|
ПРОБЕЛ
|
32
|
252 (8 битов)
|
11111100
|
Указатель фиксации схемы числового кодирования
|
|
0 (3 бита)
|
000
|
Указатель фиксации схемы алфавитно-цифрового кодирования
|
|
4 (5 битов)
|
00100
|
Расположение знака символа по отношению к шаблону поиска
|
Весовой коэффициент знака символа для элемента с номером
|
|||||||
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
|
Слева от A1
<*>
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
-
|
Справа от A1
|
1
|
3
|
9
|
27
|
81
|
32
|
96
|
77
|
Слева от A2
|
20
|
60
|
180
|
118
|
143
|
7
|
21
|
63
|
Справа от A2
|
189
|
145
|
13
|
39
|
117
|
140
|
209
|
205
|
Слева от B1
|
193
|
157
|
49
|
147
|
19
|
57
|
171
|
91
|
Справа от B1
|
62
|
186
|
136
|
197
|
169
|
85
|
44
|
132
|
Слева от B2
|
185
|
133
|
188
|
142
|
4
|
12
|
36
|
108
|
Справа от B2
|
113
|
128
|
173
|
97
|
80
|
29
|
87
|
50
|
Слева от C1
|
150
|
28
|
84
|
41
|
123
|
158
|
52
|
156
|
Справа от C1
|
46
|
138
|
203
|
187
|
139
|
206
|
196
|
166
|
Слева от C2
|
76
|
17
|
51
|
153
|
37
|
111
|
122
|
155
|
Справа от C2
|
43
|
129
|
176
|
106
|
107
|
110
|
119
|
146
|
Слева от D1
|
16
|
48
|
144
|
10
|
30
|
90
|
59
|
177
|
Справа от D1
|
109
|
116
|
137
|
200
|
178
|
112
|
125
|
164
|
Слева от D2
|
70
|
210
|
208
|
202
|
184
|
130
|
179
|
115
|
Справа от D2
|
134
|
191
|
151
|
31
|
93
|
68
|
204
|
190
|
Слева от E1
|
148
|
22
|
66
|
198
|
172
|
94
|
71
|
2
|
Справа от E1
|
6
|
18
|
54
|
162
|
64
|
192
|
154
|
40
|
Слева от E2
|
120
|
149
|
25
|
75
|
14
|
42
|
126
|
167
|
Справа от E2
|
79
|
26
|
78
|
23
|
69
|
207
|
199
|
175
|
Слева от F1
|
103
|
98
|
83
|
38
|
114
|
131
|
182
|
124
|
Справа от F1
|
161
|
61
|
183
|
127
|
170
|
88
|
53
|
159
|
Слева от F2
|
55
|
165
|
73
|
8
|
24
|
72
|
5
|
15
|
Справа от F2
|
45
|
135
|
194
|
160
|
58
|
174
|
100
|
89
|
Текст дан в соответствии с официальным текстом документа.
|
Обозначение шаблона поиска
|
Номер элемента в шаблоне
|
Обозначение шаблона поиска
|
Номер элемента в шаблоне
|
||||||||
1
|
2
|
3
|
4
|
5
|
1
|
2
|
3
|
4
|
5
|
||
Ширина элемента в модулях (начальным элементом является пробел)
|
Ширина элемента в модулях (начальным элементом является штрих)
|
||||||||||
A1
|
1
|
8
|
4
|
1
|
1
|
A2
|
1
|
1
|
4
|
8
|
1
|
B1
|
3
|
6
|
4
|
1
|
1
|
B2
|
1
|
1
|
4
|
6
|
3
|
C1
|
3
|
4
|
6
|
1
|
1
|
C2
|
1
|
1
|
6
|
4
|
3
|
D1
|
3
|
2
|
8
|
1
|
1
|
D2
|
1
|
1
|
8
|
2
|
3
|
E1
|
2
|
6
|
5
|
1
|
1
|
E2
|
1
|
1
|
5
|
6
|
2
|
F1
|
2
|
2
|
9
|
1
|
1
|
F2
|
1
|
1
|
9
|
2
|
2
|
Число сегментов
|
Порядок следования шаблонов поиска
|
||||||||||
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
|
Группа 1
|
|||||||||||
4
|
A1
|
A2
|
|
|
|
|
|
|
|
|
|
5 или 6
|
A1
|
B2
|
B1
|
|
|
|
|
|
|
|
|
7 или 8
|
A1
|
C2
|
B1
|
D2
|
|
|
|
|
|
|
|
9 или 10
|
A1
|
E2
|
B1
|
D2
|
C1
|
|
|
|
|
|
|
11 или 12
|
A1
|
E2
|
B1
|
D2
|
D1
|
F2
|
|
|
|
|
|
13 или 14
|
A1
|
E2
|
B1
|
D2
|
E1
|
F2
|
F1
|
|
|
|
|
Группа 2
|
|||||||||||
15 или 16
|
A1
|
A2
|
B1
|
B2
|
C1
|
C2
|
D1
|
D2
|
|
|
|
17 или 18
|
A1
|
A2
|
B1
|
B2
|
C1
|
C2
|
D1
|
E2
|
E1
|
|
|
19 или 20
|
A1
|
A2
|
B1
|
B2
|
C1
|
C2
|
D1
|
E2
|
F1
|
F2
|
|
21 или 22
|
A1
|
A2
|
B1
|
B2
|
C1
|
D2
|
D1
|
E2
|
E1
|
F2
|
F1
|
Номер строки
|
Ширина символа в сегментах
|
|||||||||
2
|
4
|
6
|
8
|
10
|
12
|
14
|
16
|
18
|
20
|
|
1
|
П
|
П
|
П
|
П
|
П
|
П
|
П
|
П
|
П
|
П
|
2
|
П
|
О
|
П
|
О
|
П
|
О
|
П
|
О
|
П
|
О
|
3
|
П
|
П
|
П
|
П
|
П
|
|
|
|
|
|
4
|
П
|
О
|
П
|
|
|
|
|
|
|
|
5
|
П
|
П
|
|
|
|
|
|
|
|
|
6
|
П
|
О
|
|
|
|
|
|
|
|
|
7
|
П
|
|
|
|
|
|
|
|
|
|
8
|
П
|
|
|
|
|
|
|
|
|
|
9
|
П
|
|
|
|
|
|
|
|
|
|
10
|
П
|
|
|
|
|
|
|
|
|
|
11
|
П
|
|
|
|
|
|
|
|
|
|
П - прямой порядок следования элементов в строке, О - обратный порядок следования элементов; недопустимые варианты оставлены незаполненными.
|
В официальном тексте документа, видимо, допущена опечатка: имеется в виду Приложение I, а не J.
|
Структура
|
Позиции разрядов
|
|||||||||||||||||
GS1
GTIN-14
|
|
|
|
|
N
1
|
N
2
|
N
3
|
N
4
|
N
5
|
N
6
|
N
7
|
N
8
|
N
9
|
N
10
|
N
11
|
N
12
|
N
13
|
N
14
|
SSCC-18
|
N
1
|
N
2
|
N
3
|
N
4
|
N
5
|
N
6
|
N
7
|
N
8
|
N
9
|
N
10
|
N
11
|
N
12
|
N
13
|
N
14
|
N
15
|
N
16
|
N
17
|
N
18
|
|
Умножают значение каждой позиции на весовые коэффициенты
|
|||||||||||||||||
x3
|
x1
|
x3
|
x1
|
x3
|
x1
|
x3
|
x1
|
x3
|
x1
|
x3
|
x1
|
x3
|
x1
|
x3
|
x1
|
x3
|
|
|
Складывают результаты умножения на весовые коэффициенты и обозначают полученное число
"
Сумма
"
|
||||||||||||||||||
Вычитают полученное число
"
Сумма
"
из ближайшего равного или большего числа, кратного 10. Результат вычитания является
контрольной цифрой ===========================
![]() |
Значение
|
Комбинация размеров
(ширина) элементов
|
0
|
1 1 1 3
|
1
|
1 1 2 2
|
2
|
1 1 3 1
|
3
|
1 2 1 2
|
4
|
1 2 2 1
|
5
|
1 3 1 1
|
6
|
2 1 1 2
|
7
|
2 1 2 1
|
8
|
2 2 1 1
|
9
|
3 1 1 1
|
/***********************************************************************
* getRSSwidths
* подпрограмма генерации размеров (ширины) элементов GS1 DataBar для заданного значения.
*
* Calling arguments (аргументы вызова):
* val = задаваемое значение
* n = число модулей
* elements = число пар элементов в наборе (для GS1 DataBar Всенаправленный, GS1 DataBar Усеченный, GS1 DataBar Двустрочный, GS1 DataBar Двустрочный Всенаправленный и GS1 DataBar Расширенный = 4; GS1 DataBar Ограниченный = 7)
* maxWidth = максимальная ширина элемента в модулях
* noNarrow = 0 пропуск шаблонов, не имеющих элементов шириной один модуль
*
* Return (возвращаемое значение):
* static int widths[] = размеры (ширина) элементов
*************************************************************************/
void getRSSwidths(int val, int n, int elements, int maxWidth, int noNarrow)
{
int bar;
int elmWidth;
int i;
int mxwelement;
int subVal, lessVal;
|
int narrowMask = 0;
for (bar = 0; bar < elements-1; bar++)
{
for (elmWidth = 1, narrowMask |= (1<<bar);
;
elmWidth++, narrowMask &= ~(1<<bar))
{
/* получение всех комбинаций */
subVal = combins(n-elmWidth-1, elements-bar-2);
/* исключение комбинаций с отсутствием элементов шириной один модуль */
if ((!noNarrow) && (narrowMask == 0) &&
(n-elmWidth-(elements-bar-1) >= elements-bar-1))
{
subVal -= combins(n-elmWidth-(elements-bar), elements-bar-2);
}
/* исключение комбинаций с размером (шириной) элемента более допустимой > maxVal */
if (elements-bar-1 > 1)
{
lessVal = 0;
for (mxwElement = n-elmWidth-(elements-bar-2);
mxwElement > maxWidth;
mxwElement--)
{
lessVal += combins(n-elmWidth-mxwElement-1, elements-bar-3);
|
}
subVal -= lessVal * (elements-1-bar);
}
else if (n-elmWidth > maxWidth)
{
subVal--;
}
val -= subVal;
if (val < 0) break;
}
val += subVal;
n -= elmWidth;
widths[bar] = elmWidth;
}
widths[bar] = n;
return;
}
/************************************************************************
* getRSSvalue
* подпрограмма вычисления подмножества значений при заданных размерах (ширине) элементов.
*
* Calling arguments (аргументы вызова):
* widths[] = заданные размеры (ширина) элементов
|
* elements = число пар элементов в наборе (для GS1 DataBar Всенаправленный, GS1 DataBar усеченный, GS1 DataBar Двустрочный, GS1 DataBar Двустрочный Всенаправленный и GS1 DataBar Расширенный = 4; GS1 DataBar ограниченный = 7);
*
* maxWidth = максимальная ширина элемента в модулях
* noNarrow = 0 пропуск шаблонов, не имеющих элементов шириной один модуль
*
* Return (возвращаемое значение):
* Значения подмножества
************************************************************************/
int getRSSvalue (int widths[], int elements, int maxWidth, int noNarrow)
{
int val = 0;
int n;
int bar;
int elmWidth;
int i;
int mxwElement;
int subVal, lessVal;
int narrowMask = 0;
for (n = i = 0; i < elements; i++)
{
n += widths[i];
}
|
for (bar = 0; bar < elements-1; bar++)
{
for (elmWidth = 1, narrowMask |= (1<<bar);
elmWidth < widths[bar];
elmWidth++, narrowMask &= ~(1<<bar)) {
/* получение всех комбинаций nk */
subVal = combins(n-elmWidth-1, elements-bar-2);
/* исключение комбинаций с отсутствующими узкими элементами */
if ((!noNarrow) && (narrowMask == 0) &&
(n-elmWidth-(elements-bar-1)>= elements-bar-1))
{
subVal -= combins(n-elmWidth-(elements-bar), elements-bar-2);
}
/* исключение комбинаций с шириной элемента более допустимой > maxVal */
if (elements-bar-1 > 1)
{
lessVal = 0;
for (mxwElement = n-elmWidth-(elements-bar-2);
mxwElement > maxWidth; mxwElement--)
{
lessVal += combins(n-elmWidth-mxwElement-1, elements-bar-3);
}
subVal -= lessVal * (elements-1-bar);
|
}
else if (n-elmWidth > maxWidth)
{
subVal--;
}
val += subVal;
}
n -= elmWidth;
}
return (val);
}
/**********************************************************************
* компоновка (n,r): возврат множества комбинаций r, выбираемых из n:
* Комбинации = n! / ((n - r)! * r!)
**********************************************************************/
int combins(int n, int r) {
int i, j;
int maxDenom, minDenom;
int val;
if (n-r > r) {
minDenom =
r; maxDenom
= n-r;
}
|
else {
minDenom = n-r;
maxDenom = r;
}
val = 1;
j = 1;
for (i = n; i > maxDenom; i--) {
val *= i;
if (j <= minDenom) {
val /= j;
j
++
;
}
}
for (; j <= minDenom; j
++
) {
val /= j;
}
return (val);
}
|
Значение
|
Последовательность
<1>
|
Ширина элементов в знаке символа (от крайнего левого пробела до крайнего правого штриха), модули
|
|||||||||||||
S1
|
B1
|
S2
|
B2
|
S3
|
B3
|
S4
|
B4
|
S5
|
B5
|
S6
|
B6
|
S7
|
B7
|
||
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
3
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
3
|
2
|
1
|
1
|
2
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
3
|
1
|
1
|
1
|
3
|
3
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
3
|
2
|
1
|
1
|
4
|
4
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
3
|
1
|
1
|
1
|
5
|
5
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
3
|
1
|
1
|
1
|
6
|
6
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
3
|
2
|
1
|
1
|
7
|
7
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
2
|
3
|
1
|
1
|
1
|
8
|
8
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
1
|
1
|
3
|
1
|
1
|
1
|
9
|
9
|
1
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
1
|
10
|
10
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
2
|
1
|
1
|
11
|
11
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
2
|
3
|
1
|
1
|
1
|
12
|
12
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
2
|
1
|
1
|
3
|
1
|
1
|
1
|
13
|
13
|
1
|
1
|
1
|
2
|
1
|
2
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
1
|
14
|
14
|
1
|
1
|
1
|
3
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
1
|
15
|
15
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
2
|
1
|
1
|
16
|
16
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
3
|
1
|
1
|
1
|
17
|
17
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
3
|
1
|
1
|
1
|
18
|
18
|
1
|
2
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
1
|
19
|
19
|
1
|
2
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
1
|
20
|
20
|
1
|
3
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
1
|
21
|
21
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
3
|
1
|
1
|
22
|
22
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
2
|
2
|
1
|
1
|
23
|
23
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
3
|
2
|
1
|
1
|
1
|
24
|
24
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
2
|
2
|
1
|
1
|
25
|
25
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
2
|
2
|
1
|
1
|
1
|
26
|
26
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
2
|
1
|
2
|
1
|
1
|
1
|
27
|
27
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
1
|
2
|
2
|
1
|
1
|
28
|
28
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
2
|
2
|
1
|
1
|
1
|
29
|
29
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
2
|
1
|
2
|
1
|
1
|
1
|
30
|
30
|
1
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
2
|
1
|
2
|
1
|
1
|
1
|
31
|
31
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
2
|
1
|
1
|
32
|
32
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
2
|
2
|
2
|
1
|
1
|
1
|
33
|
33
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
2
|
2
|
1
|
2
|
1
|
1
|
1
|
34
|
34
|
1
|
1
|
1
|
2
|
1
|
2
|
1
|
1
|
2
|
1
|
2
|
1
|
1
|
1
|
35
|
35
|
1
|
1
|
1
|
3
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
1
|
1
|
1
|
36
|
36
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
2
|
1
|
1
|
37
|
37
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
2
|
1
|
1
|
1
|
38
|
38
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
2
|
1
|
1
|
1
|
39
|
39
|
1
|
2
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
1
|
2
|
1
|
1
|
1
|
40
|
40
|
1
|
2
|
1
|
2
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
1
|
1
|
1
|
41
|
41
|
1
|
3
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
1
|
1
|
1
|
42
|
42
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
3
|
1
|
1
|
43
|
43
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
2
|
1
|
2
|
1
|
1
|
44
|
45
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
3
|
1
|
1
|
2
|
1
|
1
|
45
|
52
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
2
|
1
|
1
|
46
|
57
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
2
|
1
|
1
|
47
|
63
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
2
|
3
|
1
|
1
|
48
|
64
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
2
|
2
|
1
|
1
|
49
|
65
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
3
|
2
|
1
|
1
|
1
|
50
|
66
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
2
|
2
|
1
|
1
|
51
|
73
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
52
|
74
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
2
|
2
|
1
|
1
|
1
|
53
|
75
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
2
|
1
|
1
|
2
|
1
|
1
|
1
|
54
|
76
|
1
|
1
|
1
|
2
|
1
|
2
|
2
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
55
|
77
|
1
|
1
|
1
|
3
|
1
|
1
|
2
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
56
|
78
|
1
|
2
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
57
|
79
|
1
|
2
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
2
|
1
|
1
|
1
|
58
|
82
|
1
|
2
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
59
|
126
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
2
|
3
|
1
|
1
|
60
|
127
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
2
|
2
|
2
|
1
|
1
|
61
|
128
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
3
|
2
|
1
|
1
|
1
|
62
|
129
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
2
|
2
|
1
|
1
|
63
|
130
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
1
|
2
|
2
|
1
|
1
|
1
|
64
|
132
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
65
|
141
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
66
|
142
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
1
|
67
|
143
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
1
|
68
|
144
|
1
|
2
|
1
|
1
|
2
|
2
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
69
|
145
|
1
|
2
|
1
|
2
|
2
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
70
|
146
|
1
|
3
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
71
|
210
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
3
|
1
|
1
|
72
|
211
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
2
|
1
|
1
|
73
|
212
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
2
|
1
|
1
|
1
|
74
|
213
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
2
|
1
|
1
|
75
|
214
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
2
|
1
|
1
|
1
|
76
|
215
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
2
|
1
|
1
|
1
|
77
|
216
|
1
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
78
|
217
|
1
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
1
|
79
|
220
|
1
|
1
|
2
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
80
|
316
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
2
|
1
|
1
|
81
|
317
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
2
|
1
|
1
|
1
|
82
|
318
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
2
|
2
|
1
|
1
|
83
|
319
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
2
|
1
|
1
|
1
|
84
|
320
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
3
|
1
|
1
|
2
|
1
|
1
|
1
|
85
|
322
|
2
|
1
|
1
|
1
|
1
|
2
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
1
|
86
|
323
|
2
|
1
|
1
|
1
|
1
|
2
|
1
|
2
|
1
|
1
|
2
|
1
|
1
|
1
|
87
|
326
|
2
|
1
|
1
|
2
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
1
|
1
|
88
|
337
|
2
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
2
|
2
|
1
|
2
|
1
|
1
|
Примечание - Последовательность - это серия порядковых номеров в 21 x 21 = 441 комбинациях (пронумерованных от 0 до 440), созданных подпрограммой "getRSSwidths"
(приложение B)
для всех комбинаций из 8 модулей для первых 6 пробелов и первых 6 штрихов. Последовательность вычисляют как ("значение комбинаций пробелов" x 21) + "значение комбинаций штрихов". Перечень порядковых номеров может применяться вместо перечня значений ширины штрихов и пробелов для определения набора контрольных знаков.
|
val
|
= "значение комбинации пробелов" или "значение комбинации штрихов" для пробелов или штрихов (от 0 до 20);
|
n
|
= 8;
|
elements
|
= 6;
|
maxWidth
|
= 3;
|
noNarrow
|
= 1.
|
00
|
20
|
01
|
16
|
02
|
16
|
03
|
16
|
04
|
18
|
11
|
8
|
12
|
8
|
13
|
8
|
14
|
8
|
15
|
8
|
16
|
8
|
17
|
8
|
18
|
8
|
19
|
8
|
20
|
4
|
23
|
2n + 4
<1>
|
31
|
10
|
32
|
10
|
33
|
10
|
34
|
10
|
35
|
10
|
36
|
10
|
41
|
16
|
Номер элемента
|
Тип элемента
|
Описание элемента
|
1
|
Пробел
|
Левый шаблон-ограничитель, внешний элемент (шириной один модуль)
|
2
|
Штрих
|
Левый шаблон-ограничитель, внутренний элемент (шириной один модуль)
|
3
|
Пробел
|
Первый знак символа, нечетный элемент номер 1
|
4
|
Штрих
|
Первый знак символа, четный элемент номер 1
|
5
|
Пробел
|
Первый знак символа, нечетный элемент номер 2
|
6
|
Штрих
|
Первый знак символа, четный элемент номер 2
|
7
|
Пробел
|
Первый знак символа, нечетный элемент номер 3
|
8
|
Штрих
|
Первый знак символа, четный элемент номер 3
|
9
|
Пробел
|
Первый знак символа, нечетный элемент номер 4
|
10
|
Штрих
|
Первый знак символа, четный элемент номер 4
|
11
|
Пробел
|
Левый шаблон поиска, элемент номер 1
|
12
|
Штрих
|
Левый шаблон поиска, элемент номер 2
|
13
|
Пробел
|
Левый шаблон поиска, элемент номер 3
|
14
|
Штрих
|
Левый шаблон поиска, элемент номер 4 (шириной один модуль)
|
15
|
Пробел
|
Левый шаблон поиска, элемент номер 5 (шириной один модуль)
|
16
|
Штрих
|
Второй знак символа, четный элемент номер 4
|
17
|
Пробел
|
Второй знак символа, нечетный элемент номер 4
|
18
|
Штрих
|
Второй знак символа, четный элемент номер 3
|
19
|
Пробел
|
Второй знак символа, нечетный элемент номер 3
|
20
|
Штрих
|
Второй знак символа, четный элемент номер 2
|
21
|
Пробел
|
Второй знак символа, нечетный элемент номер 2
|
22
|
Штрих
|
Второй знак символа, четный элемент номер 1
|
23
|
Пробел
|
Второй знак символа, нечетный элемент номер 1
|
24
|
Штрих
|
Четвертый знак символа, нечетный элемент номер 1
|
25
|
Пробел
|
Четвертый знак символа, четный элемент номер 1
|
26
|
Штрих
|
Четвертый знак символа, нечетный элемент номер 2
|
27
|
Пробел
|
Четвертый знак символа, четный элемент номер 2
|
28
|
Штрих
|
Четвертый знак символа, нечетный элемент номер 3
|
29
|
Пробел
|
Четвертый знак символа, четный элемент номер 3
|
30
|
Штрих
|
Четвертый знак символа, нечетный элемент номер 4
|
31
|
Пробел
|
Четвертый знак символа, четный элемент номер 4
|
32
|
Штрих
|
Правый шаблон поиска, элемент номер 5 (шириной один модуль)
|
33
|
Пробел
|
Правый шаблон поиска, элемент номер 4 (шириной один модуль)
|
34
|
Штрих
|
Правый шаблон поиска, элемент номер 3
|
35
|
Пробел
|
Правый шаблон поиска, элемент номер 2
|
36
|
Штрих
|
Правый шаблон поиска, элемент номер 1
|
37
|
Пробел
|
Третий знак символа, четный элемент номер 4
|
38
|
Штрих
|
Третий знак символа, нечетный элемент номер 4
|
39
|
Пробел
|
Третий знак символа, четный элемент номер 3
|
40
|
Штрих
|
Третий знак символа, нечетный элемент номер 3
|
41
|
Пробел
|
Третий знак символа, четный элемент номер 2
|
42
|
Штрих
|
Третий знак символа, нечетный элемент номер 2
|
43
|
Пробел
|
Третий знак символа, четный элемент номер 1
|
44
|
Штрих
|
Третий знак символа, нечетный элемент номер 1
|
45
|
Пробел
|
Правый шаблон-ограничитель, внутренний элемент (шириной один модуль)
|
46
|
Штрих
|
Правый шаблон-ограничитель, внешний элемент (шириной один модуль)
|
Номер элемента
|
Тип элемента
|
Описание элемента
|
1
|
Пробел
|
Левый шаблон-ограничитель, внешний элемент (шириной один модуль)
|
2
|
Штрих
|
Левый шаблон-ограничитель, внутренний элемент (шириной один модуль)
|
3
|
Пробел
|
Левый знак символа, элемент знака символа номер 1, нечетный элемент номер 1
|
4
|
Штрих
|
Левый знак символа, элемент знака символа номер 2, четный элемент номер 1
|
5
|
Пробел
|
Левый знак символа, элемент знака символа номер 3, нечетный элемент номер 2
|
6
|
Штрих
|
Левый знак символа, элемент знака символа номер 4, четный элемент номер 2
|
7
|
Пробел
|
Левый знак символа, элемент знака символа номер 5, нечетный элемент номер 3
|
8
|
Штрих
|
Левый знак символа, элемент знака символа номер 6, четный элемент номер 3
|
9
|
Пробел
|
Левый знак символа, элемент знака символа номер 7, нечетный элемент номер 4
|
10
|
Штрих
|
Левый знак символа, элемент знака символа номер 8, четный элемент номер 4
|
11
|
Пробел
|
Левый знак символа, элемент знака символа номер 9, нечетный элемент номер 5
|
12
|
Штрих
|
Левый знак символа, элемент знака символа номер 10, четный элемент номер 5
|
13
|
Пробел
|
Левый знак символа, элемент знака символа номер 11, нечетный элемент номер 6
|
14
|
Штрих
|
Левый знак символа, элемент знака символа номер 12, четный элемент номер 6
|
15
|
Пробел
|
Левый знак символа, элемент знака символа номер 13, нечетный элемент номер 7
|
16
|
Штрих
|
Левый знак символа, элемент знака символа номер 14, четный элемент номер 7
|
17
|
Пробел
|
Контрольный знак символа, элемент номер 1
|
18
|
Штрих
|
Контрольный знак символа, элемент номер 2
|
19
|
Пробел
|
Контрольный знак символа, элемент номер 3
|
20
|
Штрих
|
Контрольный знак символа, элемент номер 4
|
21
|
Пробел
|
Контрольный знак символа, элемент номер 5
|
22
|
Штрих
|
Контрольный знак символа, элемент номер 6
|
23
|
Пробел
|
Контрольный знак символа, элемент номер 7
|
24
|
Штрих
|
Контрольный знак символа, элемент номер 8
|
25
|
Пробел
|
Контрольный знак символа, элемент номер 9
|
26
|
Штрих
|
Контрольный знак символа, элемент номер 10
|
27
|
Пробел
|
Контрольный знак символа, элемент номер 11
|
28
|
Штрих
|
Контрольный знак символа, элемент номер 12
|
29
|
Пробел
|
Контрольный знак символа, элемент номер 13 (шириной один модуль)
|
30
|
Штрих
|
Контрольный знак символа, элемент номер 14 (шириной один модуль)
|
31
|
Пробел
|
Правый знак символа, элемент знака символа номер 1, нечетный элемент номер 1
|
32
|
Штрих
|
Правый знак символа, элемент знака символа номер 2, четный элемент номер 1
|
33
|
Пробел
|
Правый знак символа, элемент знака символа номер 3, нечетный элемент номер 2
|
34
|
Штрих
|
Правый знак символа, элемент знака символа номер 4, четный элемент номер 2
|
35
|
Пробел
|
Правый знак символа, элемент знака символа номер 5, нечетный элемент номер 3
|
36
|
Штрих
|
Правый знак символа, элемент знака символа номер 6, четный элемент номер 3
|
37
|
Пробел
|
Правый знак символа, элемент знака символа номер 7, нечетный элемент номер 4
|
38
|
Штрих
|
Правый знак символа, элемент знака символа номер 8, четный элемент номер 4
|
39
|
Пробел
|
Правый знак символа, элемент знака символа номер 9, нечетный элемент номер 5
|
40
|
Штрих
|
Правый знак символа, элемент знака символа номер 10, четный элемент номер 5
|
41
|
Пробел
|
Правый знак символа, элемент знака символа номер 11, нечетный элемент номер 6
|
42
|
Штрих
|
Правый знак символа, элемент знака символа номер 12, четный элемент номер 6
|
43
|
Пробел
|
Правый знак символа, элемент знака символа номер 13, нечетный элемент номер 7
|
44
|
Штрих
|
Правый знак символа, элемент знака символа номер 14, четный элемент номер 7
|
45
|
Пробел
|
Правый шаблон-ограничитель, знак-ограничитель, внутренний элемент (шириной один модуль)
|
46
|
Штрих
|
Правый шаблон-ограничитель, элемент - штрих (шириной один модуль или, по крайней мере, шириной пять модулей)
|
47
|
Пробел
|
Правый шаблон-ограничитель, внешний элемент (шириной пять модулей)
|
Номер элемента
|
Тип элемента
|
Описание элемента
|
1
|
Пробел
|
Левый шаблон-ограничитель, внешний элемент (шириной один модуль)
|
2
|
Штрих
|
Левый шаблон-ограничитель, внутренний элемент (шириной один модуль)
|
3
|
Пробел
|
Первый знак символа, нечетный элемент номер 1 (ограничен 4 модулями или менее)
|
4
|
Штрих
|
Первый знак символа, четный элемент номер 1
|
5
|
Пробел
|
Первый знак символа, нечетный элемент номер 2
|
6
|
Штрих
|
Первый знак символа, четный элемент номер 2
|
7
|
Пробел
|
Первый знак символа, нечетный элемент номер 3
|
8
|
Штрих
|
Первый знак символа, четный элемент номер 3
|
9
|
Пробел
|
Первый знак символа, нечетный элемент номер 4
|
10
|
Штрих
|
Первый знак символа, четный элемент номер 4
|
11
|
Пробел
|
Шаблон поиска A1, элемент номер 1
|
12
|
Штрих
|
Шаблон поиска A1, элемент номер 2
|
13
|
Пробел
|
Шаблон поиска A1, элемент номер 3
|
14
|
Штрих
|
Шаблон поиска A1, элемент номер 4 (шириной один модуль)
|
15
|
Пробел
|
Шаблон поиска A1, элемент номер 5 (шириной один модуль)
|
16
|
Штрих
|
Второй знак символа, четный элемент номер 4
|
17
|
Пробел
|
Второй знак символа, нечетный элемент номер 4
|
18
|
Штрих
|
Второй знак символа, четный элемент номер 3
|
19
|
Пробел
|
Второй знак символа, нечетный элемент номер 3
|
20
|
Штрих
|
Второй знак символа, четный элемент номер 2
|
21
|
Пробел
|
Второй знак символа, нечетный элемент номер 2
|
22
|
Штрих
|
Второй знак символа, четный элемент номер 1
|
23
|
Пробел
|
Второй знак символа, нечетный элемент номер 1 (ограничен 4 модулями или менее)
|
24
|
Штрих
|
Третий знак символа, нечетный элемент номер 1 (ограничен 4 модулями или менее)
|
25
|
Пробел
|
Третий знак символа, четный элемент номер 1
|
26
|
Штрих
|
Третий знак символа, нечетный элемент номер 2
|
27
|
Пробел
|
Третий знак символа, четный элемент номер 2
|
28
|
Штрих
|
Третий знак символа, нечетный элемент номер 3
|
29
|
Пробел
|
Третий знак символа, четный элемент номер 3
|
30
|
Штрих
|
Третий знак символа, нечетный элемент номер 4
|
31
|
Пробел
|
Третий знак символа, четный элемент номер 4
|
32
|
Штрих
|
Шаблон поиска B2, элемент номер 5 (шириной один модуль)
|
33
|
Пробел
|
Шаблон поиска B2, элемент номер 4 (шириной один модуль)
|
34
|
Штрих
|
Шаблон поиска B2, элемент номер 3
|
35
|
Пробел
|
Шаблон поиска B2, элемент номер 2
|
36
|
Штрих
|
Шаблон поиска B2, элемент номер 1
|
37
|
Пробел
|
Четвертый знак символа, четный элемент номер 4
|
38
|
Штрих
|
Четвертый знак символа, нечетный элемент номер 4
|
39
|
Пробел
|
Четвертый знак символа, четный элемент номер 3
|
40
|
Штрих
|
Четвертый знак символа, нечетный элемент номер 3
|
41
|
Пробел
|
Четвертый знак символа, четный элемент номер 2
|
42
|
Штрих
|
Четвертый знак символа, нечетный элемент номер 2
|
43
|
Пробел
|
Четвертый знак символа, четный элемент номер 1
|
44
|
Штрих
|
Четвертый знак символа, нечетный элемент номер 1 (ограничен 4 модулями или менее)
|
45
|
Пробел
|
Пятый знак символа, нечетный элемент номер 1 (ограничен 4 модулями или менее)
|
46
|
Штрих
|
Пятый знак символа, четный элемент номер 1
|
47
|
Пробел
|
Пятый знак символа, нечетный элемент номер 2
|
48
|
Штрих
|
Пятый знак символа, четный элемент номер 2
|
49
|
Пробел
|
Пятый знак символа, нечетный элемент номер 3
|
50
|
Штрих
|
Пятый знак символа, четный элемент номер 3
|
51
|
Пробел
|
Пятый знак символа, нечетный элемент номер 4
|
52
|
Штрих
|
Пятый знак символа, четный элемент номер 4
|
53
|
Пробел
|
Шаблон поиска B1, элемент номер 1
|
54
|
Штрих
|
Шаблон поиска B1, элемент номер 2
|
55
|
Пробел
|
Шаблон поиска B1, элемент номер 3
|
56
|
Штрих
|
Шаблон поиска B1, элемент номер 4 (шириной один модуль)
|
57
|
Пробел
|
Шаблон поиска B1, элемент номер 5 (шириной один модуль)
|
58
|
Штрих
|
Шестой знак символа, четный элемент номер 4
|
59
|
Пробел
|
Шестой знак символа, нечетный элемент номер 4
|
60
|
Штрих
|
Шестой знак символа, четный элемент номер 3
|
61
|
Пробел
|
Шестой знак символа, нечетный элемент номер 3
|
62
|
Штрих
|
Шестой знак символа, четный элемент номер 2
|
63
|
Пробел
|
Шестой знак символа, нечетный элемент номер 2
|
64
|
Штрих
|
Шестой знак символа, четный элемент номер 1
|
65
|
Пробел
|
Шестой знак символа, нечетный элемент номер 1 (ограничен 4 модулями или менее)
|
66
|
Штрих
|
Правый шаблон-ограничитель, внутренний элемент (шириной один модуль)
|
67
|
Пробел
|
Правый шаблон-ограничитель, внешний элемент (шириной один модуль)
|
data 1:
|
3 x 1 + 1 x 3 + 1 x 9 + 1 x 27 + 1 x 2 + 3 x 6 + 3 x 18 + 3 x 54
|
= 278
|
data 2:
|
1 x 4 + 3 x 12 + 2 x 36 + 1 x 29 + 3 x 8 + 1 x 24 + 1 x 72 + 3 x 58
|
= 435
|
data 3:
|
3 x 16 + 1 x 48 + 3 x 65 + 1 x 37 + 3 x 32 + 2 x 17 + 1 x 51 + 2 x 74
|
= 657
|
data 4:
|
1 x 64 + 1 x 34 + 2 x 23 + 1 x 69 + 4 x 49 + 2 x 68 + 2 x 46 + 2 x 59
|
= 755
|
|
2125
|
бит флага сопровождения
<1>
|
= 0 (отсутствует двумерный компонент);
|
значение метода кодирования
<2>
|
= 00 (отсутствует особое уплотнение AI, но некоторые AI могут быть закодированы по знакам);
|
биты в поле символа переменной длины
<3>
|
= 00 (четное число знаков символа; число знаков символа менее или равно 14);
|
биты данных
<4>
:
|
= 0010011 (схема числового кодирования для пары цифр "10");
= 0010101 (схема числового кодирования для пары цифр "12");
= 0000 (указатель фиксации схемы алфавитно-цифрового кодирования);
= 100000 (схема алфавитно-цифрового кодирования для знака "A");
= 0010000 (для заполнения поля).
|
в нечетном поднаборе
|
odd c (для значения 24) = 1 5 1 5;
|
в четном поднаборе
|
even c (для значения 2) = 1 2 1 1.
|
#include <stdio.h>
/**********************************************************************
* Две подпрограммы - elements() и elementsExp() --
* входные данные:
* eDist[] = первые нормированные (2*K)-2 значения "от края до подобного края"
* (всегда начиная с внешнего шаблона поиска!!) и
* N и K, определяющие структуру знака,
* выходные данные:
* widths [] = 2*K размеры ширины элементов.
*
* Для символов GS1 DataBar Всенаправленный, GS1 DataBar Усеченный, GS1 DataBar Двустрочный или GS1 DataBar Двустрочный Всенаправленный вызов:
* elements (*eDist, *widths, 15,4) внутренних знаков символа &
* elements (*eDist, *widths, 16,4) для внешних знаков символа.
*
* Для GS1 DataBar Ограниченный вызов elements (*eDist, *widths,26,7).
*
* Для GS1 DataBar Расширенный вызов elementsExp(*eDist, *widths, 17,4).
*
**********************************************************************/
/**********************************************************************
* подпрограмма elements() определяет ширину элементов знака (n,k) при по крайней мере одном
|
* элементе с четным номером шириной ровно один модуль.
* (Примечание - Элементы с четными номерами - 2-й, 4-й, 6-й и т.д. имеют нечетные индексы).
**********************************************************************/
void elements (int *eDist, int *widths, int N, int K) {
int i;
int minEven;
int barSum;
/* получение размеров ширины элементов из нормированных измерений "от края до подобного края"*/
minEven = 10; /* начинают с завышенного наименьшего значения */
barSum = widths [0] = 1; /* сначала предполагают, что ширина первого штриха равна 1 модулю*/
for (i = 1; i < K*2-2; i += 2) {
widths[i] = eDist[i-1] - widths[i-1];
widths[i+1] = eDist[i] - widths[i];
barSum += widths[i] + widths[i+1];
if (widths[i] < minEven) minEven = widths[i];
}
widths[K*2-1] = N - barSum; /* ширина последнего четного элемента составляет N модулей */
if (widths[K*2-1] < minEven) minEven = widths[K*2-1];
if (minEven > 1) {
/* минимальная четная ширина четного элемента слишком большая, следует откорректировать ее на 1 */
for (i = 0; i < K*2; i += 2) {
|
widths[i] += minEven-1;
widths[i+1] -= minEven-1;
}
}
return;
}
/**********************************************************************
* подпрограмма elementsExp() определяет ширину элементов знака (n,k)
* при по крайней мере одном элементе с нечетным номером шириной ровно один модуль
* (Примечание - Элементы с нечетными номерами - 1-й, 3-й, 5-й и т.д. имеют четные индексы)
**********************************************************************/
void elementsExp (int *eDist, int *widths, int N, int K) {
int i;
int minOdd;
int barSum;
/* получение размеров ширины элементов из нормированных измерений "от края до подобного края"*/
minOdd = 8; /* начинают с минимума == предполагаемая ширина первого элемента */
barSum = widths[0] = 8; /* сначала предполагают, что ширина первого штриха максимальная/8 модулей */
for (i = 1; i < K*2-2; i += 2) {
widths[i] = eDist[i-1] - widths[i-1];
widths[i+1] = eDist[i] - widths[i];
|
barSum += widths[i] + widths[i+1];
if (widths[i+1] < minOdd) minOdd = widths[i+1];
}
widths[K*2-1] = N - barSum; /* последний четный элемент составляет N модулей */
if (minOdd > 1) {
/* минимальная ширина нечетных элементов слишком велика, следует уточнить, чтобы минимальная ширина нечетных элементов составляла 1 */
for (i = 0; i < K*2; i += 2) {
widths[i] -= minOdd-1;
widths[i+1] += minOdd-1;
}
}
return;
}
/**********************************************************************
* пример () демонстрирует подпрограммы "elements" для GS1 DataBar Всенаправленный, GS1 DataBar Усеченный, GS1 DataBar Двустрочный, GS1 DataBar Двустрочный Всенаправленный, GS1 DataBar Ограниченный и GS1 DataBar Расширенный.
**********************************************************************/
void main (void) {
int eDist14[6] = { 5,3,3,3,4,5 };
|
int eDistLim[12] = { 2,3,4,3,4,4,6,6,2,2,3,4 };
int eDistExp[6] = { 2,3,3,3,3,3 };
int widths[14];
int i;
/* для внешнего знака символа символов штрихового кода GS1 DataBar Всенаправленный, GS1
DataBar Усеченный, GS1 DataBar Двустрочный или GS1 DataBar Двустрочный Всенаправленный r */
elements(eDist14, widths, 16,4);
printf("\n GS1 DataBar (16,4) elements: ");
for (i = 0; i < 8; i++) printf("%d ", widths[i]);
/* для внутреннего знака символа символов штрихового кода GS1 DataBar Всенаправленный, GS1
DataBar Усеченный, GS1 DataBar Двустрочный или GS1 DataBar Двустрочный Всенаправленный r */
elements(eDist14, widths, 15,4); printf("\n GS1 DataBar (15,4) elements: ");
for (i = 0; i < 8; i++) printf("%d ", widths[i]);
/* для GS1 DataBar Ограниченный */
elements(eDistLim, widths, 26,7);
printf("\n GS1 DataBar Limited elements: ");
for (i = 0; i < 14; i++) printf("%d ", widths[i]);
/* для GS1 DataBar Расширенный */
elementsExp(eDistExp, widths, 17,4);
printf("\n GS1 DataBar Expanded elements: ");
for (i = 0; i < 8; i++) printf("%d ", widths[i]);
printf("\n");
return;
}
|
Число модулей
|
Число пикселей
|
|
в штрихах
|
в пробелах
|
|
1
|
4
|
8
|
2
|
10
|
14
|
3
|
16
|
20
|
4
|
22
|
26
|
Параметры символики
|
Типы символов
|
||||||
GS1 DataBar Всенаправленный
|
GS1 DataBar Усеченный
|
GS1 DataBar Двустрочный
|
GS1 DataBar Двустрочный Всенаправленный
|
GS1 DataBar Ограниченный
|
GS1 DataBar Расширенный
|
GS1 DataBar Расширенный Многострочный
|
|
Всенаправленное сканирование
|
Присутствует
|
Отсутствует
|
Отсутствует
|
Присутствует
|
Отсутствует
|
Присутствует
|
Отсутствует
|
Левый/Правый шаблоны-ограничители
<1>
|
s:b/s:b
|
s:b/s:b
|
s:b/b:s
b:s/s:b
|
s:b/b:s
b:s/s:b
|
s:b/s:b:s
|
Переменный
|
Переменный
|
Данные для передачи
|
AI(01) вместе с 14-разрядным GTIN
|
AI(01) вместе с 14-разрядным GTIN
|
AI(01) вместе с 14-разрядным GTIN
|
AI(01) вместе с 14-разрядным GTIN
|
AI(01) вместе с 14-разрядным GTIN
|
Основная идентификация и другие строки элементов с AI
|
Основная идентификация и другие строки элементов с AI
|
Максимальная емкость данных
<2>
|
16 цифр (неизменная)
|
16 цифр (неизменная)
|
16 цифр (неизменная)
|
16 цифр (неизменная)
|
16 цифр (неизменная)
|
74 цифры/41 буква
|
74 цифры/41 буква
|
Кодируемый набор знаков
<3>
|
0 - 9
|
0 - 9
|
0 - 9
|
0 - 9
|
0 - 9
|
Поднабор по ISO/IEC 646 <8>
|
Поднабор по ISO/IEC 646
<8>
|
Поддерживаемые значения разряда индикатора
<4>
|
0 - 9
|
0 - 9
|
0 - 9
|
0 - 9
|
0,1 (только)
|
0 - 9
|
0 - 9
|
Число знаков символа для данных/шаблонов поиска
|
4/2
|
4/2
|
4/2
|
4/2
|
2/1
|
4/2 - 22/11
|
4/2 - 22/11
|
Число строк
|
1
|
1
|
2
|
2
|
1
|
1
|
2 - 11
|
Структура символа (области)
<5>
|
d1/lf/d2/4d/rf/d3
|
d1/lf//d2/d4/rf/d3
|
d1/lf//d2
d4/rf/d3
|
d1/lf//d2
d4/rf/d3
|
ld/ck/rd
|
Последовательность триплетов (данные/шаблон поиска/данные)
|
Последовательность триплетов (данные/шаблон поиска/данные)
|
Число элементов
<6>
|
46
|
46
|
Верхняя строка: 25
Нижняя строка: 25
|
Верхняя строка: 25
Нижняя строка: 25
|
47
|
Переменное
|
Переменное
|
Число модулей
<7>
|
96
|
96
|
Верхняя строка: 50
Нижняя строка: 50
|
Верхняя строка: 50
Нижняя строка: 50
|
79
|
Переменное
|
Переменное
|
Минимальная высота символа
|
33X
|
13X
|
13X
(5X + 1X + 7X)
|
69X
(33X + 3X + 33X)
|
10X
|
34X
|
71X (для 2 строк)
404X (для 11 строк)
|
Максимальная высота символа
|
Не установлена
|
33X
|
13X
|
Не установлена
|
Не установлена
|
Не установлена
|
Не установлена
|
Примечание 1 - Левый (или верхний левый) шаблон-ограничитель - пробел/штрих; правый шаблон-ограничитель - пробел/штрих. Следовательно, первый (крайний слева) элемент символа - ПРОБЕЛ.
Примечание 2 - Большинство форматов символов GS1 DataBar кодируют только обозначение предмета AI(01). Форматы символов GS1 DataBar Расширенный обеспечивают основную идентификацию, например с идентификатором применения AI(01), AI(8004) и строки элементов с прочими AI.
Примечание 3 - Форматы символов GS1 DataBar, за исключением символа GS1 DataBar Расширенный, позволяют кодировать только 10 цифр. Форматы символов GS1 DataBar Расширенный допускают кодирование следующих знаков: 0 - 9, A - Z, a - z, 21 специальный графический знак, знак пунктуации и FCN1 (функциональный знак 1).
Примечание 4 - В разряде индикатора символа GS1 DataBar Ограниченный допускаются только цифры 0 и 1. Во всех остальных форматах символов GS1 DataBar разряд 9 зарезервирован для тары, содержащей смешанные предметы торговли.
Примечание 5 - Область - это комбинация элементов со специальной функцией, например, шаблон-ограничитель, знак символа или шаблон поиска. Сокращения: d1 - первый знак символа; lf - левый шаблон поиска; d2 - второй знак символа; d4 - четвертый знак символа; rf - правый шаблон поиска; d3 - третий знак символа; ld - левый знак символа; ck - контрольный знак символа; rd - правый знак символа. Все символы начинаются и заканчиваются шаблоном-ограничителем.
Примечание 6 - Элементы - это штрихи и пробелы; каждый из которых состоит из определенного числа модулей.
Примечание 7 - Модуль - это ширина самого узкого штриха и самого узкого пробела, также называемая "размер X". Ширину символа также определяют в размерах X.
Примечание 8 - В соответствии с
таблицей 13
.
|
Краткое наименование страны по МК (ИСО 3166) 004-97
|
Наименование национальной организации
|
Адрес, телефон, факс, e-mail, веб-сайт организации
|
|
международное (на английском языке)
|
на русском языке
|
||
Азербайджан
|
GS1 Azerbaijan
|
GS1 Азербайджан
|
AZ1010 г. Баку, ул. Уз. Гаджибекова, 41, офис 62 - 63.
Тел. + 99412 4987405.
Факс: + 99412 4981058.
E-mail: ean@gs1az.org
web site: http://www.gs1az.org
|
Армения
|
GS1 Armenia
|
GS1 АРМЕНИЯ
|
0033 г. Ереван, пр-т Баграмяна, 64/15.
Тел. +374 10 272 622.
Факс: +374 10 271 186.
E-mail: gs1arm@gs1am.org
web site: http://www.gs1am.org
|
Беларусь
|
GS1 Belarus
|
Ассоциация автоматической идентификации ГС1 Бел.
|
220033 г. Минск, ул. Судмалиса, 22.
Тел./факс: + 375 17 298 09 13;
298 06 60; 298 89 52.
E-mail: ean@bas-net.by, ean@ean.by
web site: http://www.ean.by
|
Грузия
|
GS1 Georgia
|
GS1 ГРУЗИЯ
|
0179 г. Тбилиси, пр-т Чавчавадзе, 50.
Тел. + 995 32 29 47 24.
Факс: + 995 32 25 39 73.
E-mail: info@gs1ge.org
web site: http://www.gs1ge.org
|
Казахстан
|
GS1 Kazakhstan
|
GS1 КАЗАХСТАН
|
г. Алматы, ул. Байзакова, 299.
Тел. + 7 7272 479348; 473116.
Факс: + 7 7272 474241; 75-59-32.
E-mail: info@gs1.kz
web site: http://www.gs1.kz
|
Кыргызстан
|
GS1 Kyrgyzstan
|
Ассоциация предметной нумерации GS1 Кыргызстан
|
720064 г. Бишкек, ул. Ахунбаева, 42а, 3-й этаж.
Тел. +996 312 51 08 25.
Факс: +996 312 51 29 14.
E-mail: info@gs1kg.org
web site: http://www.gs1kg.org
|
Молдова
|
GS1 Moldova
|
Национальная Ассоциация Автоматической Идентификации GS1 МОЛДОВА
|
MD 2009 г. Кишинев, ул. М. Когалничану, 63, офис 52.
Тел. + 373 22 24 5329.
Факс: + 373 22 24 1669.
E-mail: info@gs1md.org
web site: http://www.gs1md.org
|
Российская Федерация
|
GS1 Russia
|
Ассоциация автоматической идентификации "ЮНИСКАН/ГС1 РУС"
|
119415 Москва, а/я 4.
Тел. + 7 495 730 7103.
Факс: + 7 495 730 7105.
E-mail: info@gs1ru.org
web site: http://www.gs1ru.org
|
Таджикистан
|
GS1 Tajikistan
|
GS1 Таджикистан
|
734012 г. Душанбе, ул. Валаматзаде, 21.
Тел. -
Факс: -
E-mail: gs1centre@mail.ru
web site: -
|
Узбекистан
|
GS1 Uzbekistan
|
GS1 УЗБЕКИСТАН
|
100047 г. Ташкент, ул. Бухара, 6.
Тел. +998 71 236 71 31;
+998 71 236 78 28.
Факс: +998 71 236 79 46.
E-mail: info@gs1uz.org
web site: http://www.gs1uz.org
|
Украина
|
GS1 Ukraine
|
Ассоциация товарной нумерации Украины "ДжиЭс1 Украина"
|
04053 г. Киев, ул. Артема, 26.
Тел. (380 44) 569 3281.
Факс: (380 44) 569 3279.
E-mail: info@ean.ua
web site: http://www.gs1ua.org
|
Примечания
1 В Туркменистане на момент принятия настоящего стандарта национальная организации GS1 отсутствовала.
2 На территории страны действует только одна национальная организация, указанная в настоящей таблице, официально представляющая международную организацию GS1.
|
[1]
|
ISO/IEC 15419
|
Information technology - Automatic identification and data capture techniques - Bar code digital imaging and printing performance testing (Информационные технологии. Технологии автоматической идентификации и сбора данных. Эксплуатационные испытания при цифровом создании изображений и печати штрихового кода)
|
[2]
|
ISO/IEC 15424
|
Information technology - Automatic identification and data capture techniques - Data Carrier Identifiers (including Symbology Identifiers)) (Информационные технологии. Технологии автоматической идентификации и сбора данных. Идентификаторы носителей данных (включая идентификаторы символик))
|
[3]
|
ISO/IEC 15418
|
Information technology - Automatic identification and data capture techniques - GS1 Application Identifiers and ASC MH10 Data Identifiers and maintenance (Информационные технологии. Технологии автоматической идентификации и сбора данных. Идентификаторы применения GS1 и идентификаторы данных ASC MH10 и порядок их ведения)
|
GS1 General Specifications
|
GS1, Brussels, Belgium (Общие спецификации GS1 (GS1, Брюссель, Бельгия))
|
УДК 681.5.015:621.3:006:354
|
МКС
01.080.50
;
35.040
|
П85
|
Ключевые слова: информационные технологии, технологии автоматической идентификации и сбора данных, спецификация символики штрихового кода GS1 DataBar, знак данных, формат символа, качество печати, алгоритм обнаружения ошибок
|