ГОСТ Р 56844—2015/1SO/IEEE 11073-20101:2004
Пример — Определение
sia’ebITS-lb <ореп:и;, -oeked;1: 1
может быть отображено на представление типа языка С следующим образом:
shot* unsigned .ni state?
tideiine -oeked 0x4000
fd e i.n e open
uxbooo
(по аналогии с именованными битами в битовых строках).
А.4.4 Тип OCTET STRING
Кодирование значения OCTET STRING, относящегося к базовому типу, является простым. Содержимое окте
тов представляет собой строку элементов. Сами октеты используют кодирование, унаследованное от определения
типа строки.
Будучи зависимы от этого типа октеты могут содержать печатаемые символы ASCII (в случае 16-битовых
наборов символов символ использует 2 октета в кодировке) или строка может содержать больший обьем инкапсу
лированных двоичных данных.
На рисунке А.4 представлено поддерживаемое в MDER кодирование октет для ограниченных по размеру
значений битовых строк.
Как показано на рисунке А.4. MDER различают тип OCTET STRING с переменной длиной строки и тип OCTET
STRING ограниченного размера.
• Фиксированный (ограниченный по размеру) тип: OCTET STRING (SIZE(n))
078М Э21
B7W48Z1
0*гаг1
Октет2
О ктет/ИОктет л
• Типы OCTET STRING переменной длины
676В4Э2167И 48218786492107654221
16бктное
шх
ироешиодлины
Октаг 1
Октет 2Октет/ИОктет г?
Рисунок А.4 - Кодирование типов OCTET STRING
Тип OCTET STRING с фиксированной (т. е. ограниченной по размеру)длиной строки кодируется только соот
ветствующим набором октет содержания.
Типы OCTET STRING переменной длины кодируются с полем длиной 16 бит (целое число без знака в до
полнительном двоичном коде), за которым следует определенное число октет содержания.
Пример - Следующие определения
tixeo-sj^ea-Jabt-lОГТП STRIMC- iSIZZl12)>
vaiiable-labels:-OCTET STFJttC-
1
могут быть отображены на представление типа языка С следующим образом:
typeaetunsigned char tlxea_sixe_label|
2
j;
typeaet siiuct {
unsigned short .engin?
uns.gned chordata ; ?•* здесь нужно вс.авил массив подходящего размера
) varlab-e_.abe.?
А.4.5 Тип SEQUENCE
Кодирование значения последовательности конструируется, а октеты содержания представляют закодиро
ванные значения элементов типа SEQUENCE, без каких-либо дополнительных закодированных данных. Пробелы
(например, для выравнивания) не добавляются.
Значения компонентов должны появляться в порядке их определения в типе SEQUENCE.
Пример - Следующие определения
Iai.-r.tType ::•SLQ’.’ZNCE {
-d :кг-и:б,
21