ГОСТ Р ИСО/МЭК 8825-1-2003
8.10 Кодирование значения «последовательность-из»
8.10.1 Кодирование значения «последовательность-из» должно быть составным.
8.10.2 Октеты содержимого должны состоять из нуля, одного или нескольких полных кодирований значений данных для типа, перечисленного в определении АСН.1.
8.10.3 Порядок кодированных значений данных должен быть таким же, что и порядок значений данных в кодируемом значении «последовательность-из».
8.11 Кодирование значения «множество»
8.11.1 Кодирование значения «множество» должно быть составным.
8.11.2 Октеты содержимого должны состоять из полного кодирования значения данных для каждого из типов, перечисленных в определении АСН.1 типа «множество», в порядке, выбранном отправителем, если тип не был указан с ключевым словом «OPTIONAL» или «DEFAULT».
8.11.3 Кодирование значения данных может, но не обязательно, присутствовать для типа, который был указан с ключевым словом «OPTIONAL» или «DEFAULT».
Примечание — Порядок значений данных в значении «множество» не существенен и не устанавливает ограничений на порядок во время передачи.
8.12 Кодирование значения «множество-из»
8.12.1 Кодирование «множество-из» должно быть составным.
8.12.2 Применяется правило 8.10.2.
8.12.3 Порядок значений данных не должен сохраняться при кодировании и последующем декодировании.
8.13 Кодирование выборочного значения
Кодирование выборочного значения должно быть таким же, как кодирование значения выбранного типа.
Примечания
1 Кодирование может быть простым или составным в зависимости от выбранного типа.
2 Тег, используемый в октетах идентификатора, является тегом выбранного типа, специфицированного в определении выборочного типа ACH.1
8.14 Кодирование тегированного значения
8.14.1 Кодирование тегированного значения должно быть получено из полного кодирования соответствующего значения данных типа, появляющегося в нотации «TaggedType» (называемого базовым кодированием), как определено в 8.14.2 и 8.14.3.
8.14.2 Если в определении типа не используется неявное тегирование (см. ГОСТ Р ИСО/МЭК 8824-1, 28.6), то кодирование должно быть составным, и октеты содержимого должны быть полным базовым кодированием.
8.14.3 Если в определении типа использовалось неявное тегирование, то:
а) кодирование должно быть составным, если базовое кодирование составное, в противном случае оно должно быть простым;
б) октеты содержимого должны быть такими же, как октеты содержимого базового кодирования.
П р и м е р. С определениями типов АСН.1 (в среде явного тегирования)
Type1 :: = VisibleString
Type2 :: = [APPLICATION 3] IMPLICIT Type1
Type3 :: = [2] Type2
Type4 :: = [APPLICATION 7] IMPLICIT Type3
Type5 :: = [2] IMPLICIT Type2 значение
«Jones»
кодируется следующим образом:
|
Для Type1: |
|
VisibleString |
Длина |
Содержимое |
|
1Ai6 |
05i6 |
4A6F6E6573i6 |
|
Для Type2: |
|
[APPLICATION 3] |
Длина |
Содержимое |
|
43i6 |
05i6 |
4A6F6E6573i6 |
11