ГОСТ Р ИСО/МЭК 8825-2-2003
ПРИЛОЖЕНИЕ А
(справочное)
Пример кодирования
В настоящем приложении иллюстрируется использование правил уплотненного кодирования, специфи
цированных в настоящем стандарте, на примере представления в октетах (гипотетической) персональной
записи, определенной с использованием АСН. I.
А.1 Запись, которая нс использует ограничения подтипа
А. 1.1 О п и са и и с АСН. I с тру к ту ры з а п и с и
Ниже формально описана структура гипотетической персональной записи с использованием АСН. 1,
специфицированной в ГОСТ Р ИСО/МЭК S824-I для определения типов. Описание идентично примеру,
приведенному в ГОСГ Р ИСО/МЭК 8825-1, приложение А.
Personnel Record :: - (APPLICATION 0| IMPLICIT SET {
nameName,
title(0| VisibleString.
numberEmployeeNumber,
datcOfHire|l] Date.
namcOISpou.se(2j Name.
children(3( IMPLICIT
SEQUENCE OF Childlnformation DEFAULT (} )
Child Information :: « SET
(nameName.
dateOIBirth|0) Date}
Name :: - (APPLICATION l| IMPLICIT SEQUENCE
(givenNameVisiblcString,
initial VisiblcString,
familyName VisiblcString)
EmployccNumber:: - (APPLICATION 2| IMPLICIT INTEGER
Date :: - (APPLICATION 3| IMPLICIT VisiblcStnng - - YYYYMMDD
A.1.2 О ii и с а н и с АСН. I з н а ч е н и я записи
Ниже приведено формальное описание с использованием АСН. I значения персональной записи для
Джона Смита (John Smith):
I name (givenName «John», initial «Р», I’amilyName «Smith»},
title«Director*,
number51.
datcOfHire«19710917»,
namcOfSpousc (givenName «.Mary*, initial «Т». family Name «Smith*}, children
((name(givenName «Ralph®, initial «Т*, familyName «Smith»}. dateOfBirth «19571111*},
(name(givenName «Susan», initial «В». familyName «Jones*}, dateOfBirth «19590717»}}}
A. 1.3 П ре дета влей нс PER (ALIGNED) дан и о то з н а ч е н и я з а п и с и
Далее показано представление приведенного выше значения записи (после применения варианта
ALIGNED установленных в настоящем стандарте правил уплотненного кодирования). Кодирование представ
лено в шестнадцатеричном виде н сопровождается двоичным видом с описательными комментариями.
Длина
ЭТОГО
кодирования составляет 94 октета. Для сравнения, то же самое значение PersonnelRecord,
закодированное с использованием варианта UNALIGNED PER. занимает 84 октета, BER с определенной
формой длины —по крайней мере 136 октетов, a BER с неопределенной формой длины —по крайней мерс
161 октет.
А. 1.3.1 Шестнадцатеричное представ-хение
80044A6F 686Е0150 05536D69 74680133 08446972 6563746F 72083139 37313039 3137044D 61727901 5405536D
69746802 0552616С 70680154 05536D69 74680831 39353731 31313105 53757361 6E0I4205 4A6F6E65 73083139
35393037 3137
А.1.3.2 Двоичное представление
Для облегчения чтения данных в двоичном представлении использованы пустые строки для группировки
логически связанных полей (обычно это пары длина/значение); для разделения полей использован копей
29