Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 16022-2008 Автоматическая идентификация. Кодирование штриховое. Спецификация символики Data Matrix (с Изменением N 1)

     5.2 Кодирование данных

5.2.1 Общие положения

Данные можно кодировать с использованием любой комбинации из шести схем кодирования (таблица 1), при этом кодирование по схеме ASCII (КОИ-7/КОИ-8) является основной схемой. Остальные схемы кодирования вызываются из схемы кодирования ASCII (КОИ-7/КОИ-8) с последующим возвратом к этой же схеме. Следует учитывать эффективность уплотнения (число битов на знак данных), приведенную в таблице 1. Лучшей схемой для выбранного набора данных может оказаться не та, у которой на знак данных приходится наименьшее число битов. Если требуется наибольшая степень уплотнения, то надо принимать в расчет служебную информацию для переключения между схемами кодирования и наборами знаков внутри одной схемы кодирования (приложение Р). Следует также учитывать, что даже если число кодовых слов минимизировано, поток кодовых слов может нуждаться в расширении для полного заполнения символа. Дополнение осуществляют путем использования знаков-заполнителей.


Таблица 1 - Схемы кодирования для символов версии ЕСС 200

Наименование схемы кодирования

Знаки

Число битов на один знак данных

ASCII

Сдвоенные разряды чисел

4

(КОИ-7/

Знаки ASCII (КОИ-7) с десятичными значениями от 0 до 127

8

КОИ-8)

Знаки расширенного набора ASCII (КОИ-8) с десятичными значениями от 128 до 255

16

С40

Цифры и прописные латинские буквы

5,33



Специальные знаки и строчные латинские буквы

10,66*

Text

Цифры и строчные латинские буквы

5,33



Специальные знаки и прописные латинские буквы

10,66**

ANSI X12

Набор знаков данных для электронного обмена данными по ANSI X12 EDI

5,33

EDIFACT

Знаки ASCII (КОИ-7) с десятичными значениями от 32 до 94

6

По основанию 256

Любые байты с десятичными значениями от 0 до 255

8

* Кодируют как два значения в схеме кодирования С40 с использованием знака регистра (Shift).

** Кодируют как два значения в схеме кодирования Text с использованием знака регистра (Shift).



5.2.2 Интерпретация знаков по умолчанию

Интерпретация знаков по умолчанию для знаков с десятичными значениями от 0 до 127 должна соответствовать версии КОИ-7 по ИСО/МЭК 646, а для знаков с десятичными значениями от 128 до 255 - версии КОИ-8 по ИСО 8859-1 "Латинский алфавит N 1". Графические представления знаков данных, приведенных в настоящем стандарте, соответствуют интерпретации по умолчанию. Эта интерпретация может быть изменена с помощью переключающих последовательностей интерпретации в расширенном канале (5.4). Интерпретацией по умолчанию является ECI 000003.

5.2.3 Схема кодирования ASCII (КОИ-7/КОИ-8)

Схема кодирования ASCII (КОИ-7/КОИ-8) представляет собой набор знаков по умолчанию для первого знака символа в символах любого размера. С помощью указанной схемы кодируют знаки ASCII (КОИ-7) и расширенного набора ASCII (КОИ-8), числовые данные двойной плотности и управляющие знаки символики. Управляющие знаки символики включают в себя функциональные знаки, знак-заполнитель и знаки-переключатели на другие кодовые наборы. Знаки данных ASCII (КОИ-7) кодируют как кодовые слова с десятичными значениями от 1 до 128 (десятичное значение знака КОИ-7 плюс 1). Знаки данных расширенного набора ASCII (КОИ-8) с десятичными значениями от 128 до 255 кодируют с использованием управляющего знака верхнего регистра (Upper Shift) (5.2.4.2). Пары цифр от 00 до 99 кодируют кодовыми словами от 130 до 229 (числовое значение плюс 130). Присвоенные значения кодовых слов для схемы кодирования ASCII (КОИ-7/КОИ-8) приведены в таблице 2.


Таблица 2 - Значения кодовых слов в схеме кодирования ASCII (КОИ-7/КОИ-8)

Значение кодового слова

Знак данных или функция

1-128

Знаки данных ASCII (КОИ-7) (десятичное значение знака +1)

129

Знак-заполнитель

130-229

Пары цифр от 00 до 99 (числовое значение +130)

230

Знак фиксации схемы кодирования С40

231

Знак фиксации схемы кодирования по основанию 256

232

Знак FNC1

233

Знак структурированного соединения

234

Знак программирования устройства считывания

235

Знак верхнего регистра (переход к расширенному набору ASCII (КОИ-8))

236

Знак Макро 05

237

Знак Макро 06

238

Знак фиксации схемы кодирования Х12

239

Знак фиксации схемы кодирования Text

240

Знак фиксации схемы кодирования EDIFACT

241

Знак интерпретации в расширенном канале (ECI)

242-255

Не подлежит использованию в схеме кодирования ASCII (КОИ-7/КОИ-8)



5.2.4 Управляющие знаки символики

В символах версии ЕСС 200 есть несколько специальных управляющих знаков символики, имеющих особое значение для схемы кодирования. Эти знаки должны использоваться для сообщения команды декодеру на выполнение определенных функций или передачи управляющему компьютеру специальных данных (5.2.4.1-5.2.4.9). Эти управляющие знаки символики, за исключением знаков с десятичными значениями от 242 до 255, присутствуют в кодовом наборе ASCII (КОИ-7/КОИ-8) (таблица 2).

5.2.4.1 Знаки фиксации схемы кодирования (Latch)

Для переключения из схемы кодирования ASCII (КОИ-7/КОИ-8) в любую иную схему кодирования используют знаки фиксации. Все кодовые слова после знака фиксации должны кодироваться в соответствии с новой схемой кодирования. Различные схемы кодирования имеют свои способы возврата к кодовому набору ASCII (КОИ-7/КОИ-8).

5.2.4.2 Знак верхнего регистра (Upper Shift)

Знак верхнего регистра используется в комбинации с знаком ASCII (КОИ-7) для кодирования знака расширенного набора ASCII (КОИ-8) с десятичными значениями от 128 до 255. Знак расширенного набора ASCII (КОИ-8), кодируемый в схемах кодирования ASCII (КОИ-7/КОИ-8), С40 или Text, требует наличия предшествующего знака верхнего регистра, после которого стоит знак ASCII (КОИ-7), десятичное значение которого уменьшено на 128. Эту пару кодируют в соответствии с правилами схемы кодирования. В схеме кодирования ASCII (КОИ-7/КОИ-8) знак верхнего регистра представлен кодовым словом со значением 235. Уменьшенное десятичное значение знака данных (т.е. десятичное значение знака расширенного набора ASCII (КОИ-8) минус 128) преобразуют в значение кодового слова путем прибавления к его значению единицы. Например, для кодирования знака (ДЕНЕЖНЫЙ ЗНАК ИЕНЫ, десятичное значение которого равно 165) следует после знака верхнего регистра (кодовое слово со значением 235) поставить знак ASCII (КОИ-7) с десятичным значением 37 (165-128), которое кодируется как кодовое слово со значением 38. При наличии протяженных последовательностей знаков данных расширенного набора ASCII (КОИ-8), более эффективное кодирование может быть достигнуто путем использования знака фиксации схемы кодирования по основанию 256.

5.2.4.3 Знак-заполнитель (Pad)

Если кодируемых данных, независимо от используемой схемы кодирования, не хватает для полного заполнения символа для данных, то оставшаяся часть символа для данных должна быть заполнена знаками-заполнителями. Знаки-заполнители должны использоваться исключительно для указанной цели. Перед вводом знака-заполнителя необходимо вернуться к схеме кодирования ASCII (КОИ-7/КОИ-8) из любой другой используемой схемы кодирования.

Алгоритм рандомизации с шаблоном из 253 состояний применяют к знакам-заполнителям, ко всей последовательности знаков-заполнителей, начиная со второго знака-заполнителя и до конца символа (приложение В.1).

5.2.4.4 Знак интерпретации в расширенном канале (ECI)

Знак интерпретации в расширенном канале (ECI) используют для смены интерпретации, принятой по умолчанию, на иную интерпретацию, применяемую для кодирования данных. Протокол интерпретации в расширенном канале является общим для многих символик и его применение к символике версии ЕСС 200 более полно определено в 5.4. После знака ECI обязательно должны следовать одно, два или три кодовых слова, которые идентифицируют конкретную активизируемую ECI. Новая ECI действует до конца кодируемых данных или до тех пор, пока другой знак ECI не вызовет иную интерпретацию.

5.2.4.5 Знаки регистра (Shift) в схемах кодирования С40 и Text

В схемах кодирования С40 и Text используют три специальных знака, называемые знаками регистра, в качестве префикса к одному из 40 значений для кодирования примерно трех четвертей набора знаков ASCII (КОИ-7). Это позволяет добиться более компактного кодирования оставшихся знаков ASCII (КОИ-7) с помощью одиночных значений*.

________________