Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 8825-3-2016 Информационная технология (ИТ). Правила кодирования АСН.1. Часть 3. Спецификация нотации контроля кодирования (ECN)

     17.6 Дифференциальное кодирование-декодирование

17.6.1 Продукцией "DifferentialEncodeDecodeObject" является:

DifferentialEncodeDecodeObject ::=

"{"

ENCODE-DECODE

SpecForEncoding

DECODE AS IF

SpecForDecoders

"}"

SpecForEncoding ::= EncodingObject

SpecForDecoders ::= EncodingObject

17.6.2 "DifferentialEncodingObject" определяет правила кодирования абстрактных значений, связанных с классом руководителя этой нотации, и (отдельно) правила, используемые декодерами для восстановления абстрактных значений из кодовых комбинаций, которые, как предполагается, созданы объектами кодирования с классом руководителя.

17.6.3 "SpecForEncoding" применяется кодерами. Декодеры будут декодировать так, как будто бы кодер применил "SpecForDecoders".

Примечания

1 "SpecForDecoders" является, тем не менее, спецификацией кодирования. Он предлагает декодерам предполагать, что кодеры использовали эту спецификацию.

2 Поведение декодеров, которые декодируют в предположении, что кодер использовал "SpecForDecoders", но обнаруживают ошибки кодирования, не стандартизовано.

17.6.4 Объекты кодирования "SpecForEncoding" и "SpecForDecoders" не должны определяться с помощью ENCODE-DECODE, и любые объекты кодирования, использованные в этом определении, не должны определяться с помощью ENCODE-DECODE.


Примечание - Это ограничение сделано потому, что в противном случае спецификация смысла конструкции кодирования/декодирования стала бы более сложной, не давая дополнительных функциональных возможностей.

17.6.5 Если "SpecForEncoding" и "SpecForDecoders" показывают одинаковый идентификационный описатель с одинаковым набором значений описателя, то определяемый объект кодирования (см. 17.1.5) показывает этот идентификационный описатель (с тем же набором значений описателя); иначе он не показывает описатель.