ГОСТ Р ИСО/МЭК 8825-1-2003
8.7 Кодирование значения *строка октетов»
8.7.1 Кодирование значения «строка октетов» должно быть простым или составным, по
усмотрению отправителя.
Приме ча ние —Если необходимо передать часть строки октетов до того, как станет доступна вся
строка, то используется составное кодирование.
8.7.2 Простое кодирование содержит нуль, один или несколько октетов содержимого, равных
по значению октетам в значении данных, в порядке их появления в значении данных, и со старшим
значащим битом октета значения данных, выровненным по старшему значащему биту
октета содержимого.
8.7.3 Октеты содержимого для составного кодирования должны состоять из нуля, одного или
нескольких кодирований.
П р и м е ч а н и е —Каждое такое кодирование включает в себя октеты идентификатора, длины, содер
жимого и может включать октеты конец-содержимого, сош оно является составным.
8.7.3.1 Ятя кодирования значения «строка октетов» таким способом это значение должно быть
сегментировано. Каждый сегмент должен состоять из ряда последовательных октетов значения.
Расположение границ сегментов значения не имеет.
Примечание —Сегмент может иметь нулевой размер, то есть нс содержать октеты.
8.7.3.2 Каждое кодирование в октетах содержимогодолжно представлять сегмент обшей строки
октетов, кодовое представление которой является результатом рекурсивного применения настоящего
раздела. При этом применении каждый сегмент рассматривается как значение строки октетов.
Кодовые представления сегментов должны появляться в октетах содержимого в том порядке, в каком их
октеты появляются в общем значении.
Примечай ия
1 Как следствие этой рекурсии, каждое кодирование в октетах содержимого само может быть простым
или составным. Однако обычно такие кодирования являются простыми.
2 Вчастности, теги в октетах содержимого всегда унивсрсатьного класса номер 4.
8.8 Кодирование выролаенного значения
8.8.1 Кодирование вырожденного значения должно быть простым.
8.8.2 Октеты содержимого не должны содержать октетов.
Г1римечание —Октет длины равен нулю.
П р и мср. Если тип NULL, то NULL может быть закодирован как:
NULLДлина
05|б00,6
8.9 Контрование значения «последовательность»
8.9.1 Кодирование значения «последовательность» должно быть составным.
8.9.2 Октеты содержимого должны состоять из полного кодирования одного значения данных
для каждого из типов, перечисленных в определении АСН.1 типа «последовательность», в порядке
их появления в определении, если только тип не был указан с ключевым словом «OPTIONAL* или
«DEFAULT*.
8.9.3 Кодирование значения данных может, но не обязательно, присутствовать для типа,
указанного с ключевым словом «OPTIONAL* или «DEFAULT*. Если оно присутствует, то должно
появляться в кодировании в точке, соответствующей появлению типа в определении ЛСН.1.
П р и м е р. Если тип
SEQUENCE {name IA5String, ok BOOLEAN},
то значение
{name «Smith*, ok TRUE}
может быть закодировано как:
Последовательность
30,6
ДлинаСодержимое
0А|6
IA5StringДлина
161605,6
BOOLEANДлина
01,601,6
Содержимое
«Smith»
Содержимое
FF.6
10