Действующий

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

     
Приложение Р
(справочное)

     
Кодирование данных в символе ЕСС 200 с использованием минимального числа знаков символа

Одни и те же данные могут быть представлены различными символами Data Matrix путем использования различных схем кодирования.

Следующий алгоритм обычно порождает самый короткий поток кодовых слов:

a) кодирование начинают по схеме кодирования ASCII (КОИ-7/КОИ-8);

b) при кодировании по схеме кодирования ASCII (КОИ-7):

1) если следующая последовательность данных состоит, по крайней мере, из двух последовательных цифр, то кодируют следующие две цифры как сдвоенный разряд в схеме кодирования ASCII (КОИ-7/КОИ-8);

2) если проверка с предварительным просмотром (начинающимся на этапе, указанном в перечислении j), указывает иную схему кодирования, то следует перейти на эту схему;

3) если указана схема кодирования по основанию 256, кодируют знак фиксации этой схемы кодирования со следующим за ним байтом длины, значение которого пока неизвестно. На этапе, указанном в перечислении g или i, поле длины будет заполнено (может потребоваться второй дополнительный байт длины);

4) если следующий знак данных относится к расширенному набору ASCII (КОИ-8) и его десятичное значение превосходит 127, то его кодируют в схеме кодирования ASCII (КОИ-7/КОИ-8) с использованием в качестве первого знака управляющего знака верхнего регистра (Upper Shift) с десятичным значением 235;

5) в противном случае следующий знак данных кодируют по схеме кодирования ASCII (КОИ-7/КОИ-8);

c) при кодировании по схеме кодирования С40:

1) если схема кодирования С40 начинает обработку нового двойного знака символа, и если проверка с предварительным просмотром (начинающаяся на этапе, приведенном в перечислении j), указывает иную схему кодирования, следует перейти на использование этой схемы;

2) в противном случае следующий знак данных обрабатывают по схеме кодирования С40;

d) При кодировании по схеме кодирования Text:

1) если схема кодирования Text начинает обработку нового двойного знака символа, и если проверка с предварительным просмотром (начинающаяся на этапе, приведенном в перечислении j), указывает иную схему кодирования, следует перейти на использование этой схемы;

2) в противном случае следующий знак данных обрабатывают по схеме кодирования Text;

e) при кодировании по схеме кодирования ANSI X12:

1) если схема кодирования ANSI X12 начинает обработку нового двойного знака символа, и если проверка с предварительным просмотром (начинающаяся на этапе, приведенном в перечислении j) указывает иную схему кодирования, следует перейти на использование этой схемы;

2) в противном случае следующий знак данных обрабатывают по схеме кодирования ANSI X12;

f) при кодировании по схеме кодирования EDIFACT (EDF):

1) если схема кодирования EDIFACT начинает обработку нового тройного знака символа, и если проверка с предварительным просмотром (начинающаяся на этапе, приведенном в перечислении j) указывает иную схему кодирования, следует перейти на использование этой схемы;

2) в противном случае следующий знак данных обрабатывают по схеме кодирования EDIFACT;

g) при кодировании по схеме кодирования по основанию 256 (В256):

1) если проверка с предварительным просмотром (начинающаяся на этапе, приведенном в перечислении j) указывает иную схему кодирования, следует перейти на использование этой схемы;

2) в противном случае следующий знак данных обрабатывают по схеме кодирования по основанию 256;

h) повторяют этап, указанный в перечислении b), до конца данных;

i) после просмотра данных, если действует схема кодирования по основанию 256, устанавливают поле длины в ноль (ноль указывает, что символ завершает схему кодирования по основанию 256).

Проверка с предварительным просмотром (этапы, указанные в перечислениях с j no s):

При проверке с предварительным просмотром изучают кодируемые данные для определения наилучшей схемы кодирования;