ГОСТ Р ИСО/МЭК 8825-3—2016
9.27.2 Эти две возможности означают, что декодер может быть использован для декодирования
открытого типа при том. что конкретная имплементация не знает ничего про тип. который был закоди
рован в нем.
9.27.3 Поддержка кодирования, предоставляемая для открытого типа, является в точности той же,
что и для большинства других классов в bitfield категории, но с дополнительной возможностью указа
ния. что другой набор объектов кодирования применяется к типу, который кодируется в открытый тип.
Примечание — Это является признанием того, что многие протоколы выбирают для использования
другой стиль кодирования (часто на основе type-length-value подхода) для типа, содержащегося в открытом типе,
сохраняя при этом более компактный стиль кодирование для полей сообщения, содержащих открытый тип.
9.27.4 Модель, используемая для декодирования открытого типа, определяет, что декодер не бу
дет знать, какой тип заполняет открытый тип (таблицы и реляционные ограничения не видны ни для
PER, ни для ECN). но приложение может быть в состоянии определить это из какого-либо другого поля в
протоколе, или в предыдущем сообщении, или (для специализированных дополнений) на основе
адреса вызывающей стороны.
9.27.5 Модель является такой потому, что. разобравшись с любым заданным предварительным
заполнением и определив пространство кодирования и любое предварительное и послодующее запол
нение значения, декодер запросит у приложения тип. который был закодирован (в случае инструментов
приложение почти наверняка будет иметь предварительно настроенный инструмент со списком извест
ных типов, которые могут присутствовать, и просто вернет указатель на один из них). Затем декодиро
вание может продолжиться в обычном режиме.
9.27.6 Однако приложение может сказать «unknown» (см. 9.27.4). тогда декодеру нужно узнать, как
определить конец такого неизвестного кодирования. Этого можно добиться за счет разрешения специ
фикатору ECN предоставить структуру кодирования и (опционально) объект кодирования, установлен
ный для использования с ней. что должно использоваться декодерами для декодирования неизвестных
типов. Необходимый синтаксис приведен в разделе 23.
Примечание — Примером такой структуры кодирования может быть структура, определяющая широко
известное «Туре. Length. Value» кодирование, конец которого может быть определен без знания закодированного
типа.
9.28 Изменения международных стандартов об АСН.1
9.28.1 В настоящем стандарте приведены ссылки на другие стандарты по АСН.1 с целью опре
деления их нотации без повторения. Чтобы такие ссылки были корректными, необходимо расширить
семантику этих нотаций (например, раздел об импортах. определение параметризации и информаци
онного объекта) с целью признания справочных номеров классов кодирования, объектов кодирования и
другого, что составляет часть ECN.
9.28.2 Имеется также необходимость в расширении нотации класса информационных объектов
для разрешения полей, которые являются упорядоченными списками значений или объектов, а не про
сто неупорядоченными наборами объектов, с целью позволить использование этой нотации в опреде
лении синтаксиса ECN при определении объектов кодирования некоторых классов.
9.28.3 Правила параметризации ослабляются для разрешения использования фиктивного пара
метра ссылки на объект кодирования (присвоенной в операторе присвоения) в качестве реального па
раметра ссылки на класс кодирования, который руководит нотацией, определяющей справочное имя
объекта кодирования. В частности, параметризованный класс кодирования может использоваться в
качестве руководителя в операторе присвоения объекта кодирования (см. С.2.8.4) с реальным параме
тром. являющимся фиктивным параметром объекта кодирования, который определяется.
9.28.4 Эти изменения к другим стандартам по АСН.1 определяются в приложениях А—С и пред
назначены только для целей настоящего стандарта.
10 Определения классов кодирования, объектов кодирования
и наборов объектов кодирования
10.1 Многие продукции внутри настоящего стандарта нуждаются в определении классов кодиро
вания. объектов кодирования или наборов объектов кодирования.
10.2 Для каждого из них имеются пять способов выполнения идентификации:
26