ГОСТ Р 56844—2015/1SO/IEEE 11073-20101:2004
87884821
ТегКТ-Ш 6(И)
Длина INT-U16(г»йст4т)
Кодирование
выбранной
вгыщзнкгмш
Рисунок А.7 - Кодирование типа CHOICE
Пример - Следующие описания
Cho-ceCyp*-CHOICE {
ом OneГуре,
гvo IvoType
)
могут быть отображены на представление типа языка С следующим образом:
lypedel airue.- {
unsigned shorichoice_id;
unsigned shoxi-engih;
union {
OnuTypeOOe;
TwoTypetwo;
• dat a;
}Choieelyper
fdel-ne one_iype_chosenI
.♦’deline *.wo_t.ype_.:ho8en2
Правила для значений тегов определяются следующим образом:
- теги могут быть заданы явно или неявно;
- абстрактный синтаксис для неявно заданных тегов не содержит явно заданного номера выбора и. следо
вательно. требуется правило для присвоения значений полю choicejd. Для неявно заданных тегов значения поля
Choi сеJd начинаются со значения 1 и последовательно размещаются в порядке абстрактных синтаксических вы
боров. В приведенном выше примере значения поля choicejd для полей one_type_chosen и two_type_chosen будут
равны 1 и 2 соответственно:
- абстрактный синтаксис для явно заданных тегов содержит явно заданный номер выбора, который отража
ется непосредственно в поле choicejd только что определенного правила кодирования. В этом случае процедуры
выбора должны выполняться последовательно и в зависимости от применения могут быть несвязанными, как по
казано в следующем примере:
cno.ce-typsCHOICE {
ош- I Onelyjx-,--delines *ag va-ue I -n XDER
Jcui.4. FcuiCype--delines ».ag va-ue 4 in
kder
>
A.4.8 Тип ANY DEFINED BY и Instance-of
ANY DEFINED BY (ASN.1 1988/90) или тип instance-of (ASN.1 1994) кодируется заголовком полядлины, чтобы
задать число октет в кодировании выбранного значения, как представлено ниже. См. рисунокА.8.
Данные типы, как правило, представляют встроенные синтаксисы, посредством зарегистрированного иден
тификатора обьекга. См. приложение Н для случаев совместимости.
87444321
87844321
Длина INT-L16
[т
октет}
ГЛИИишчл
Кщщктшшщ
■Убранного
«ПвпРШ
Рисунок А.8 - Кодирование типа ANY DEFINED BY (Inslance-of)
Пример — Следующие описания
23