ГОСТ Р ИСО/МЭК 8825-3—2016
23.10.3.3 Если «ENCODING-SPACE SIZE» равен «self-delimiting», то устанавливается «UNKNOWN IS».
23.10.4 Действия кодера
23.10.4.1 Для любой установленной группы признаков кодирования кодер выполняет кодирующие
действия, указанные в разделе 22. в следующей последовательности и согласно определению объекта
кодирования:
a) замена;
b
) предварительное выравнивание и заполнение;
c) начальный указатель;
d) пкодирования (см. 23.10.4.3);
e) кодирование открытого типа (см. 23.10.4.2);
0 заполнение и выравнивание значения (см. 23.10.4.5);
д) реверсия битов.
23.10.4.2 Кодер должен закодировать значение типа, предоставленного приложением, используя
«ENCODED WITH» набор объектов кодирования, если он присутствует, или же должен быть использо
ван текущий комбинированный набор объектов кодирования.
23.10.4.3 Если «ENCODING-SPACE SIZE» равен «variable-with-determinant» или «encode-
option-withdeterminant». то он должен быть минимальным числом единиц «MULTIPLE OF», необходи
мым для размещения комбинации (например, «s»), которая определяется в 23.10.4.5.
23.10.4.4 Кодер может (по своему выбору) увеличить «s» (определенный в 23.10.4.3) на едини
цы «MULTIPLE OF» (при условии любых ограничений, которые предписывают диапазон значений из
«added-field» или «asn1-field»). если «ENCODING-SPACE SIZE» установлен в «encoder-option-with-
determinant».
23.10.4.5 Если в пространстве кодирования имеются неиспользуемые биты, то «VALUE-
JUSTIFICATION» должно быть установлено с использованием либо значений набора, либо значений по
умолчанию.
23.10.5 Действия декодера
23.10.5.1 Для любой установленной группы признаков кодирования декодер выполняет декодиру
ющие действия, указанные в разделе 22. в следующей последовательности и согласно определению
объекта кодирования:
a) предварительное выравнивание и заполнение:
b
) начальный указатель;
c) пространство кодирования;
d) реверсия битов;
е) заполнение и выравнивание значения;
0 декодирование открытого типа (см. 23.10.5.2).
23.10.5.2 Для декодирования открытого типа декодер должен запросить у приложения тип. кото
рый был закодирован, и расшифровывать значение этого типа или «UNKNOWN IS» структуры в соот
ветствии с «ENCODED WITH» спецификациями в «UNKNOWN IS».
23.10.5.3 Если декодирование было неизвестного типа, то биты, образующие неизвестное коди
рование (без битов предварительного заполнения и без значения битов предварительного и последую
щего заполнений, если таковые имеются), должны быть переданы приложению как значение открытого
типа.
23.11 Определение объектов кодирования для классов в категории
«факультативные возможности»
23.11.1 Определенный синтаксис
Синтаксис с целью определения объектов кодирования для классов в категории «факультативные
возможности» определяется следующим образом:
«OPTIONALENCODING-CLASS {
- Спецификация замены исключительно структуры (см. 22.1)
&#Roplacement-structure
OPTIONAL,
&replacement-structure-encoding-object &#Replacoment-structure OPTIONAL.
128