9.5.1 Настоящие правила кодирования специфицируют:
а) кодирование простого значения в список полей, и
б) кодирование составного значения в список полей, используя списки полей, порожденные применением настоящих правил кодирования к компонентам составного значения, и
в) преобразование списка полей самого внешнего значения в полное кодирование значения абстрактного синтаксиса (см. 10.1).
Примечание - Преамбула, длина и содержимое являются "полями", которые, сцепленные вместе, образуют "список полей". Список полей составного типа, отличного от выборочного, может состоять из полей нескольких значений, сцепленных вместе. Либо преамбула, либо длина и (или) содержимое любого значения могут быть опущены.
Рисунок 1 - Кодирование составного значения в список полей
9.5.2 Кодирование значения компонента данных либо:
а) состоит из трех частей, показанных на рисунке 1, которые появляются в следующем порядке:
1) преамбула (см. разделы 18, 20 и 22);
2) детерминант длины (см. 10.9);
3) содержимое, либо
б) (когда содержимое большое) состоит из произвольного числа частей, как показано на рисунке 2, первая из которых является преамбулой (см. разделы 18, 20 и 22), а последующие являются парами выровненных по октету битовых полей: первое поле - детерминант длины для фрагмента содержимого, второе - фрагмент содержимого; последняя пара полей идентифицируется частью детерминанта длины, как определено в 10.9.
Рисунок 2 - Кодирование значения длинных данных
9.5.3 Каждая часть, упомянутая в 9.5.2, порождает:
а) либо вырожденное поле (null), либо
в) битовое поле, либо
г) выровненное по октету битовое поле, либо
д) список полей, который может содержать либо битовые поля, либо выровненные по октету битовые поля, либо те и другие.