ГОСТ Р ИСО/МЭК 16022 — 2008
Приложение Р
(справочное)
Кодирование данных в символе ЕСС 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 Х12:
1) если схема кодирования ANSI Х12 начинает обработку нового двойного знака символа, и если про
верка с предварительным просмотром (начинающаяся на этапе, приведенном в перечислении j) указывает
иную схему кодирования, следует перейти на использование этой схемы;
2) в противном случае следующий знак данных обрабатывают по схеме кодирования ANSI Х12:
f) при кодировании по схеме кодирования EDIFACT (EDF):
1) если схема кодирования EDIFACT начинает обработку нового тройного знака символа, и если про
верка с предварительным просмотром (начинающаяся на этапе, приведенном в перечислении j) указывает
иную схему кодирования, следует перейти на использование этой схемы;
2) в противном случае следующий знак данных обрабатывают по схеме кодирования EDIFACT;
g) при кодировании по схеме кодирования по основанию 256 (В256):
1) если проверка с предварительным просмотром (начинающаяся на этапе, приведенном в перечис
лении j) указывает иную схему кодирования, следует перейти на использование этой схемы;
2) в противном случае следующий знак данных обрабатывают по схеме кодирования по основанию
256;
h) повторяют этап, указанный в перечислении Ь). до конца данных;
i) после просмотра данных, если действует схема кодирования по основанию 256. устанавливают поле
длины в ноль (ноль указывает, что символ завершает схему кодирования по основанию 256).
Проверка с предварительным просмотром (этапы, указанные в перечислениях с j по s):
При проверке с предварительным просмотром изучают кодируемые данные для определения наилучшей
схемы кодирования;
j) задают начальное значение счетчика знаков символа для каждой схемы:
1) если текущей является схема кодирования ASCII (КОИ-7), устанавливают следующее:
счетчик схемы кодирования ASCII (КОИ-7.КОИ-8) равен 0;
счетчик схемы кодирования С40 равен 1;
счетчик схемы кодирования Text равен 1;
счетчик схемы кодирования ANSI Х12 равен 1:
98