8.1 Общие правила кодирования
8.1.1 Структура кодирования
8.1.1.1 Кодирование значения данных должно состоять из четырех компонентов, которые должны появляться в следующем порядке:
а) октеты идентификатора (см. 8.1.2);
б) октеты длины (см. 8.1.3);
в) октеты содержимого (см. 8.1.4);
г) октеты конца содержимого (см. 8.1.5).
8.1.1.2 Октеты конца содержимого должны присутствовать только в том случае, если их наличие требуется значением октетов длины (см. 8.1.3).
8.1.1.3 На рисунке 1 показана структура кодирования (простого или составного). На рисунке 2 показан один из вариантов составного кодирования.
Рисунок 1 - Структура кодирования
Рисунок 2 - Вариант составного кодирования
8.1.1.4 Структура кодирования не изменяется ни для нотации подтипа АСН.1, ни для нотации расширения типа АСН.1.
8.1.2 Октеты идентификатора
8.1.2.1 Октеты идентификатора должны кодировать тег АСН.1 (класс и номер) типа значения данных.
8.1.2.2 Для тегов с номером от 0 до 30 (включительно) октеты идентификатора должны содержать единственный октет, закодированный следующим образом:
а) биты 8 и 7 представляют класс тега и должны кодироваться так, как определено в таблице 1;
б) бит 6 должен быть нулем или единицей согласно правилам 8.1.2.5;
в) биты с 5 по 1 должны кодировать номер тега как двоичное целое число с битом 5 в качестве старшего значащего бита.
Таблица 1 - Кодирование класса тега
Класс | Бит 8 | Бит 7 |
Универсальный | 0 | 0 |
Прикладной | 0 | 1 |
Контекстно зависимый | 1 | 0 |
Пользовательский | 1 | 1 |
8.1.2.3 На рисунке 3 показан вид октета идентификатора для типа с номером тега от 0 до 30 (включительно).