ГОСТ Р ИСО/МЭК 8825-1-2003
g [5] INTRGER, h [6] INTRGER
},
i CHOICE j [0] INTEGER
}
}
}
Порядок, в котором кодируются компоненты множества, всегда следующий: е, Ь, а, так как тег [0] меньше, чем [1] и [3].
10 Отличительные правила кодирования
Кодирование значений данных по отличительным правилам кодирования является базовым, описанным в разделе 8, с ограничениями, перечисленными в настоящем разделе.
10.1 Формы длины
Должна использоваться определенная форма длины кодирования, закодированная в минимальном числе октетов (см. для сравнения 8.1.3.26).
10.2 Формы кодирования строк
Для типов строк битов, октетов и ограниченных символов не должно использоваться составное кодирование (см. для сравнения 8.1.3.26).
10.3 Набор компонентов
Кодирования значений компонентов множества должны появляться в порядке, определяемом их тегами, как установлено в ГОСТ Р ИСО/МЭК 8824-1, 6.4.
Примечание — Когда компонент множества является нетегированным выборочным типом, положение компонента в этом порядке зависит от тега кодируемого выбранного компонента.
11 Ограничения на BER, использующие CER и DER
Указание раздела 8 «должно быгть кодирование BER» интерпретируется как «должно быть кодирование CER или DER». (См. 8.16.1 и 8.18.1)
11.1 Булевские значения
Если кодирование представляет булевское значение TRUE, то его единственный октет содержимого должен иметь все восемь битов, равные единице (см. для сравнения 8.2.2).
11.2 Неиспользованные биты
11.2.1 Каждый неиспользованный бит в последнем октете кодирования значения битовой строки должен быть равен нулю.
11.2.2 При применении ГОСТ Р ИСО/МЭК 8824-1, 21.7 из битовой строки перед ее кодированием следует удалить все завершающие 0.
Примечания
1 В случае, когда применяется ограничение размера, абстрактное значение, доставляемое декодером приложению, должно удовлетворять ограничению размера и может отличаться от переданного значения только количеством завершающих битов, равных 0.
2 Если битовая строка не имеет битов, равных 1, то кодировщик должен закодировать значение длиной 1 и начальным октетом, равным 0.
11.3 Действительные значения
11.3.1 Если кодирование представляет значение с основанием В, равным 2, то должно использоваться двоичное кодирование по основанию 2. Перед кодированием мантисса М и экспонента Е выбираются так, что М равна 0 или является четной.
Примечание — Это необходимо, так как одно и тоже действительное значение может рассматриваться и как {М, 2, Е}, и как {М', 2, Е'} с Мф М', если для некоторого ненулевого целого и:
М ' = М х 2“",
Е ' = Е + и.
При кодировании двоичный масштабирующий фактор F должен быгть равен нулю, а М и Е должны быть представлены наименьшим возможным числом октетов.
18