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

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

     3.7 Дополнительные определения


В настоящем стандарте используют следующие определения:

3.7.1 двоично-дополнительное до 2 целое кодирование: Кодирование целого числа в выровненном по октету поле битов заданной длины или в количестве октетов, минимально необходимом для размещения этого числа, закодированного как целое двоичное дополнение до 2, обеспечивающее представление целых чисел, которые равны, больше или меньше нуля, как определено в 10.4.

Примечания

1 Значение целого двоичного дополнения числа до 2 получается путем нумерации битов в октетах содержимого, начиная с бита 1 последнего октета как бита 0 и заканчивая битом 8 первого октета. Каждому биту присваивается числовое значение , где - номер бита в описанной выше нумерации. Значение целого двоичного дополнения числа до 2 получается суммированием присвоенных числовых значений тех битов, которые равны единице, исключая бит 8 первого октета, и последующего уменьшения этой суммы на числовое значение, присвоенное биту 8 первого октета, если тот бит равен единице.

2 Целое число в данном контексте является синонимом математического термина "целое число". Его следует отличать от целочисленного типа integer АСН.1.

3.7.2 значение абстрактного синтаксиса: Значение из абстрактного синтаксиса (определенного как множество значений единственного типа АСН.1), которое должно быть закодировано PER или которое должно быть получено декодированием PER.

Примечание - Единственный тип АСН.1, связанный с абстрактным синтаксисом, формально идентифицируется объектом класса ABS-TRACT-SYNTAX.

3.7.3 битовое поле: Результат некоторой части метода кодирования, состоящий из упорядоченного набора битов, число которых не обязательно кратно восьми и которые в полном кодировании значения абстрактного синтаксиса не обязательно начинаются на границе октета.

3.7.4 каноническое кодирование: Полное кодирование значения абстрактного синтаксиса, полученное применением правил кодирования, которые не имеют зависящих от реализации опции; такие правила приводят к определению однозначного отображения между недвусмысленными и уникальными битовыми строками в синтаксисе передачи и значениями в абстрактном синтаксисе.

3.7.5 составной тип: Тип "множество", "последовательность", "множество-из", "последовательность-из", "встроенное-здп", выборочный, внешний или неограниченный тип символьных строк.

3.7.6 составное значение: Значение составного типа.

3.7.7 ограниченное целое число: Целое число, которое ограничено видимым для PER требованием, находится в диапазоне от до , где меньше или равно , и значения и являются допустимыми.

Примечание - Ограниченные целые числа встречаются в кодировании, идентифицирующем: выбранную альтернативу из выборочного типа, длину строк символов, октетов и битов, которая ограничена некоторой максимальной длиной видимым для PER образом, счетчик числа компонентов в типе "последовательность-из" или "множество-из", максимальное число которых ограничено видимым для PER образом, значение целочисленного типа, которое ограничено видимым для PER образом, и значение, которое обозначает перечисление в перечислимом типе.

3.7.8 эффективное ограничение размера (для ограничения типов строк): Единственное конечное ограничение размера, которое может быть применено к встроенному типу строки, результатом которого является допущение всех строк и только тех длин, которые могут иметь строки ограничиваемого типа.

Примечание - Например, следующая нотация имеет эффективное ограничение размера:

А :: = IA5String (SIZE(1..4)|SIZE(10..15)),

так как она может быть переписана с единственным ограничением размера, который относится ко всем значениям:

А :: = IA5String (SIZE(1..4|10..15)),

тогда как следующая нотация не имеет эффективного ограничения размера, так как строка может быть произвольной длины, если она не содержит никаких символов, кроме 'а', 'b' и 'с':

В :: = IA5String (SIZE(1..4)|FROM ("abc"))

3.7.9 эффективное ограничение допустимого алфавита "PermittedAlphabet" (для ограниченных типов символьных строк): Единственное ограничение PermittedAlphabet, которое может быть применено к встроенному типу символьной строки известной кратности, результатом которого является допущение всех строк, содержащих только те символы, которые могут присутствовать в любой позиции любого значения ограниченного типа символьных строк.

Примечание - Ограничением эффективного допустимого алфавита (PermittedAlphabet) является либо весь алфавит неограниченного типа символьных строк, либо спецификация PermittedAlphabet, которая может оказаться супермножеством всех ограничений PermittedAlphabet, наложенных на тип. Например, в

Ах :: = IA5String (FROM ("AB")|FROM ("CD"))

Вх :: = IA5String (SIZE (1..4)|FROM ("abc"))

"Ax" имеет эффективное ограничение PermittedAlphabet, которое состоит из всего алфавита IA5String, так как нет ограничения PermittedAlphabet, применимого ко всем значениям "Ах". То же самое справедливо и для "Вх". С другой стороны, следующий пример имеет эффективное ограничение PermittedAlphabet "ABCDE", так как существует ограничение PermittedAlphabet, применимое ко всем значениям:

А:: = IA5String (FROM ("AB")|FROM ("CD")|FROM ("ABCDE"))