ГОСТ Р 56845—2015
NBO:
- Однобайтовая строка битов, т. в. октета:
- Последовательность битое: в порядке от наименее значащего бита (LSB) к наиболее значащему биту (MSB),
г. е. 0......7 или 24
......
31: порядок следования битов представляется диаграммами посредством последую
щих обозначений <— . в которых конец стрелки обозначает последний переданный бит:
7"■0
MSBLSB
- Многобайтовая строка:
- Неструктурированная: массив октет (т. е. строка октет):
- Последовательность битов: для каждого типа, как определено для октеты:
- Последовательность байтов, в основном нумеруется от (0) до [п-1]. например А[0], до A[n-1J, где <л>=
длина в октетах
<
7
А[Ц] 0
--------
“
<
7 A(n-1] 0
--------
- Структурированная: многобайтовая последовательность битов, в основном кратные двум байтам (напри
мер. короткое целое число — 16 битов, длинное целое число — 32 бита): числа с плавающей точкой в ос
новном являются кратными 16 битам, хотя в настоящем стандарте определен только 32-х битный формат
FLOAT. Приведены два общих примера (ABCD относится к порядку передачи байтов):
-16 битовая структура, например, короткое (целое число):
- Последовательность битов: каждый байт пересылается согласно определению для октеты;
- Последовательность байтов: пересылается от наиболее значащего байта к наименее значащему байту:
- Для целых чисел со знаком обычно MSB наиболее значащего байта — знаковый бит
15
а ’т
(М . мы. байт
Ш т
- 32-битная структура, например, длинное (целое число)
-Условно, составы мультиструктуры показаны в порядке появления в последовательно передаваемой
строке
—
G
о
IS6^7
О
LS_
__
l
£
1 Е 24-23
F Юр»
о
«’7. Н 0
LS
3
----------1_3----------LS
------
---L-S----------
I
A
Т Г
В
л
Пири
Л
■ППВПВДПТЙПЬШЯПМ
Второй ■поогидомтльнмпи
Третий впосяедэмтельностм
Рисунок F.1 — NBO — соглашения представления двоичной строки
F.4 Кодирование
F.4.1 Общие положения
В MDER отсутствует тегирование для простых типов. Теги используются только там. где дешифратору (деко
деру) необходимо различать типы (например, для типа CHOICE). Поля длины используются только для элементов
с переменной длиной и ограничены 64 Кбайтами (16 битами), которых должно быть достаточно для передачи
данных.
Простые типы определены из-за ограничений по размеру и имеют фиксированную длину.
Типы SEQUENCE имеют фиксированную длину, так как синтаксические компоненты типа OPTIONAL не
используются.
F.4.2 Тип INTEGER
Кодирование целочисленного значения является примитивным кодированием, а содержимое октет пред
ставляет значение в дополнительном двоичном коде.
На рисунке F.2 представлено поддерживаемое в MDER кодирование октет12’ для ограниченных по размеру
целочисленных значений.
12’ Для стандартизации языка программирования С для целочисленных типов данных, необходимо исполь
зовать определения ИСО/МЭК 9899.
135