1. определяют значение знака символа по таблице 1;

  2. каждой позиции знака символа присваивают весовой коэффициент. Знаку Start присваивают весовой коэффициент 1. Затем, начиная слева от первого знака символа, следующего за знаком Start, весовые коэф­фициенты 1, 2, 3, 4, ..., n для всех последующих знаков символа, за исключением контрольного знака символа; n обозначает число знаков символа, представляющих данные или специальную информацию в сим­воле, за исключением знаков Start/Stop и контрольного знака символа;

П р и м е ч а н и е — Знаку Start и первому знаку символа после знака Start присваивают весовой коэффициент 1;

  1. значение каждого знака символа умножают на его весовой коэффициент.

  2. все произведения, рассчитанные на этапе 3), суммируют;

  3. сумму произведений делят на 103;

  4. остаток, полученный из расчета на этапе 5), является значением контрольного знака символа.

Пример вычисления значения контрольного знака символа для данных «AIM1234»:

Знаки

Start B

А

I

M

Code C

12

34

Значения знаков (этап 1)

104

33

41

45

99

12

34

Весовые коэффициенты (этап 2)

1

1

2

3

4

5

6

Произведения (этап 3)

104

33

82

135

396

60

204

Сумма произведений (этап 4)


1014






Деление на 103 (этап 5) 1014/103 = 9

Остаток, равный значению контрольного знака символа 87



Контрольный знак символа должен размещаться непосредственно после окончания данных или специ­ального знака и перед знаком Stop.

П р и м е ч а н и е — Контрольный знак символа не должен отображаться в визуальном представлении.

А.2 Визуальное представление

Визуальное представление знаков данных (должно соответствовать знакам, передаваемым декодером) должно быть напечатано вместе с кодирующим эти знаки символом Code 128. Знаки Start / Stop и специальные знаки печататься не должны. Размер знаков и шрифт не регламентируются, эта интерпретация может быть напечатана в любой окружающей символ области, без нарушения границ свободной зоны (согласно 4.4.2).ПРИЛОЖЕНИЕ В
(обязательное)

Особые правила для функционального кода 1 (FNC1)

  1. FNC1 в первой позиции — использование зарезервировано для системы EAN.UCC (ЕАН.ЮСиСи)

В соответствии с соглашением между AIM, Inc. (АИМ, Инк.), EAN International (ЕАН Интернейшнл) и Uniform Code Council (UCC) (Совет по унифицированному коду — ЮСиСи) использование FNC1 в символах Code 128 в первой позиции знака символа после знака Start зарезервировано исключительно для системы EAN.UCC. EAN International и Uniform Code Council разработали логически связанный международный стан­дарт применения для использования Code 128 в соединении со структурами данных для их кодирования в широком диапазоне определенных стандартом категорий. Этот стандарт полностью приведен в [6].

Адреса этих организаций:

EAN International Uniform Code Council

r

B-1000 BRUSSELS

Belgium

ue Royale 145 7887 Washington Village Drive

Suite 300 Dayton, OH 45458 USA

Информация об актуализированной версии [6] может быть получена в представительствах этих органи­заций или во входящих в систему национальных организациях нумерации3.

  1. FNC1 во второй позиции — использование зарезервировано для AIM, Inc.

В соответствии с соглашением между AIM и другими организациями использование FNC1 в символах Code 128 в позиции второго знака символа после знака Start зарезервировано для обозначения символов, соответствующих определенным применениям, если существует необходимость однозначного распознавания различных символов Code 128. Следующие знаки являются допустимыми в позиции первого знака символа: цифры от 00 до 99 в кодируемом наборе С, прописные буквы от А до Z и строчные буквы от а до z.

Подробности указанных применений доступны в AIM International (АИМ Интернейшнл) по адресу:

AIM, Inc.

634 Alpha Drive,

Pittsburgh, PA 15328

USA

  1. Прочие использования

Знак символа FNC1 можно использовать в качестве контрольного знака символа.

FNC1 в позициях третьего или последующих знаков передается в качестве знака версии КОИ-7 с деся­тичным значением 29 (GS).

  1. Передаваемые данные

При любых применениях, в которых используют символы Code 128 с FNC1 в первой или второй позиции данных, должна быть обеспечена передача идентификатора символики. Когда FNC1 используется в первой или второй позиции, он не должен быть представлен в передаваемом сообщении, хотя его присутствие обознача­ется в идентификаторе символики значениями знака-модулятора 1 или 2 соответственно.

Когда FNC1 используют во второй позиции данных, ближайшие предшествующий и последующие знаки символа следует передавать как если бы знак FNC1 не существовал.

FNC1 в позициях третьего или последующих знаков передают как знак версии КОИ-7 GS (знак версии КОИ-7 с десятичным значением 29).

ПРИЛОЖЕНИЕ С
(обязательное)

Идентификатор символики

Идентификаторы символики предоставляют единую методику сообщений о считанной символике, на­боре вариантов в устройстве считывания и некоторых встречающихся особенностях данной символики. Иден­тификатор символики для Code 1284:

] Cm,

где ] представляет знак версии КОИ-7 с десятичным значением 93;

С — знак кода, присвоенный символике Code 128;

m — значение знака-модификатора в таблице С.1:

Т а б л и ц а С.1 — Значения знака-модификатора для Code 128

m

Вариант обработки

0

Стандартная последовательность данных. Функциональный код 1 не присутствует ни в первой, ни во второй позиции после знака Start.

1

Последовательность данных UCC/EAN-128 (ЮСиСи/ЕАН-128). Функциональный код 1 находится в первой позиции знака символа после знака Start.

2

Функциональный код 1 находится во второй позиции знака символа после знака Start.

4

Соединение в соответствии с требованиями ISBT-128 (АйэСБиТи-128) международно­го общества переливания крови — следуют связанные данные.



Эта информация не должна кодироваться в символе штрихового кода, однако она должна генериро­ваться декодером после декодирования и передаваться как преамбула к сообщению данных.

ПРИЛОЖЕНИЕ D
(рекомендуемое)

Соотношение значений знаков символа и знаков версии КОИ-7

Для преобразования значения знака символа (S) к десятичному значению знака версии КОИ-7 или наоборот используют следующие соотношения для кодируемых наборов А и В.

Кодируемый набор А

Если S < 63, то десятичное значение знака версии КОИ-7 равно S + 32.

Если 64 < S < 95, то десятичное значение знака версии КОИ-7 равно S — 64.

Кодируемый набор В

Если S < 95, то десятичное значение знака версии КОИ-7 равно S + 32.

Результаты значений приведены в таблице 1 настоящего стандарта.

П р и м е ч а н и е — Как указано в 4.3.4.2 перечисление d), наличие знака FNC4 дает эффект добавления числа 128 к десятичному значению версии КОИ-7 следующего знака данных или знаков, полученных в соответствии с указанными правилами.

ПРИЛОЖЕНИЕ Е
(рекомендуемое)

Использование знаков Start, Code и Shift для минимизации длины символа

Одни и те же данные могут быть представлены различными символами Code 128 c помощью различных комбинаций знаков Start, Code и Shift.

Правила минимизации числа знаков символа, необходимых для представления заданной строки данных (и соответственно общей длины символа), обычно должны использоваться в управляющем программном обеспечении печатающего устройства.

1 Определяют знак Start.

1а Если данные состоят из двух цифр, используют знак Start C.

1b Если данные начинаются с четырех или более числовых знаков данных, используют знак Start C.

1с Если управляющий знак версии КОИ-7 (например, NUL*) находится в данных перед любым зна­ком нижнего регистра, используют знак Start A.

1d В остальных случаях используют знак Start B.

  1. Если используют знак Start C и данные начинаются с нечетного количества числовых знаков дан­ных, вставляют знак Code A или Code В перед последней цифрой в соответствии с 1с и 1d для выбора кодируемого набора А или В.

  2. Если четыре или более числовых знака данных объединены в наборах А или В:

3а При четном количестве числовых знаков данных вставляют знак Code С перед первым числовым разрядом, чтобы произвести изменение на кодируемый набор С.

3b При нечетном количестве числовых знаков данных вставляют знак Code С непосредственно после первого числового знака, чтобы произвести изменение на кодируемый набор С.

  1. Если в данных кодируемого набора В встречается управляющий знак версии КОИ-7:

4а Если после этого знака в данных следует знак в нижнем регистре, за которым стоит другой управ­ляющий знак, вставляют знак Shift перед управляющим знаком.

4b В остальных случаях ставится знак Code А перед управляющим знаком, чтобы произвести измене­ние на кодируемый набор А.

  1. Если в данных кодируемого набора А встречается знак в нижнем регистре:

5а Если в данных после этого знака следует управляющий знак, за которым стоит другой знак в ниж­нем регистре, вставляют знак Shift перед знаком нижнего регистра.

5b В противном случае вставляют знак Code В перед знаком нижнего регистра, чтобы произвести изме­нение на кодируемый набор В.

  1. Если в данных кодируемого набора С встречается нечисловой знак, вставляют знак Code А или знак Code В перед этим знаком, следуя правилам 1с и 1d для выбора кодируемого набора А или В.

П р и м е ч а н и я:

  1. Термин «знак нижнего регистра» используют для удобства, и он подразумевает любой знак кодируемого набора В Code 128 со значениями от 64 до 95 (десятичные значения знаков версии КОИ-7 от 96 до 127), то есть для всех строчных букв алфавита, а также' { | } ~ DEL. Термин «управляющий знак» означает любой знак из кодируемого набора А Code 128 со значениями от 64 до 95 (значения знаков версии КОИ-7 от 00 до 31).

  2. Если знак функциональный код 1 стоит в первой позиции после знака Start или в нечетной позиции внутри числового поля, то для определения соответствующего набора знаков он должен обрабатываться как две цифры.

Если данные содержат знаки версии КОИ-8, десятичные значения которых превышают 127, следует вычесть 128 от их десятичных значений для определения соответствующего набора знаков А или В, а также использовать следующие правила: при наличии последовательности от одного до четырех указанных знаков (1 или 2 в конце строки данных) наиболее эффективно предварять каждый из них знаком FNC4; для пяти (3 в конце строки данных) или большего количества указанных знаков более эффективным является переход в версию КОИ-8 с использованием двух зна­ков FNC4.Набор знаков по ИСО 8859-1 (латинский алфавит номер 1)

В таблице F.1 представлено соответствие знаков второй половины набора 8-битных однобайтовых коди­рованных знаков по [2] байтам с десятичными значениями от 160 до 255 включительно. Для знаков с десятич­ными значениями от 128 до 159 включительно отсутствуют графические представления. Это соответствие экви­валентно ячейкам от 160 до 255 в строке-октете со значением 00 (десятичным) для базовой многоязычной плоскости по [8].

В соответствии с 4.3.4.3, d) настоящего стандарта эти знаки могут быть представлены в Code 128 в соединении со знаком FNC4 на основании соотношения

C = (D - 128),

где C — значение знака версии КОИ-7 символа;

D — значение знака данных по таблице F.1.

Так как это дает значения C от 32 до 127, которые соответствуют знакам кодируемого набора В, следующее соотношение также верно, когда применяется к набору знаков В:

5 = (D — 160),

где S — значение знака символа по таблице 1 (кодируемый набор В);

D — значение знака данных по таблице F.1.

Т а б л и ц а F.1 — Вторая часть набора знаков по [2]

160 NBSP

161 і

162

0

163

L

164

0

165 ¥

166

1

167 §

168

169 ©

170

a

171 «

172 -

173 SHY

174 ®

175

176

°

177 ±

178

2

179

3

180

181 E

182

1

183

184

,

185

1

186 -2-

187 »

188 A

189 A

190 %

191

6

192

A

193

A

194

195

A

196

197 A

198 £

199 c

200 E

201 E

202

203

204

205

206

207

208 в

209 N

210 О

211 o

212

213 O

214

215

X

216 0

217 и

218 и

219

220

221 Y

222 h

223 в

224 a

225 a

226

227

228

229

230 сс

231 5

232 е

233 e

234

235

236

237

238

239

240 6

241

242 0

243

0

244

245

246

247

248

0

249 u

250 u

251

252

253

У

254 t>

255

П р и м е ч а н и е — Международные наименования знаков: NBSP — No-break space5 SHY — Soft hyphen*.