Таблица 1



) Графическое изображение этих разделителей по ИСО 646 (ГОСТ 27465) отсут­ствует в некоторых печатающих устройствах. Символы, приведенные в графе „Печат­ный символ”, заменяют стандартное графическое представление разделителей (для удобства чтения) далее по всему тексту стандарта.

  1. У правляющие элементы поля

Управляющие элементы поля в позициях 0-5 состоят из четырех цифровых символов, за которыми следует два определенных пользовате­лем печатных графических символа для представления разделителей ин­формации 1/14, 1/15 в этом же порядке. Относительные позиции 0 и 1 должны интерпретироваться как код структуры и типа. Относительные позиции 2 и 3 резервируются для последующей стандартизации. Значе­ние 00 в относительных позициях 2 и 3 означает, что никакое дополнитель­ное управление не предусмотрено.

Примечание. Два выбранных пользователем печатных графических символа не должны встречаться в полях данных. Они также не должны заменяться раздели­телями информации ИСО (см. табл. 1) в полях данных, так как вводятся дополни­тельно для облегчения визуального воспроизведения. Если дополнительный символ не определен, следует использовать по умолчанию символ пробела (2/0)

.



Структура данных: тип данных

Управляющие элементы поля

Имя/метка/у правд яющие элементы формата^)

ОП

0 12 3

4 5

*

Элементарная: символ неявная точка явная точка масштабированный с явной точкой

строка битов символь­ного режима

00 00 0 10 0

0 2 0 0

0 3 0 0

04 0 0


[ ’Имя’];

поле битов

05 0 0


[ ’Имя’] & ’уэф’;

Вектор:

символ

неявная точка

явная точка

масштабированный с явной точкой

строка битов символь­ного режима

1000

1100

12 00

13 0 0

14 00

; &

[ ’Имя’] & (’Векторная метка’]

& Гуэф’З; ,

поле битов смешанный

15 00

16 00


[’Имя’] & [’Векторная метка’] & ’уэф’ ;

Массив:

символ

неявная точка

явная точка

масштабированный с явной точкой

строка битов символь­ного режима

20 0 0

2 100

2 2 00

2 3 0 0

24 0 0


[ ’Имя’] & [ ’Декартова метка’] &[ ’уэф’]; I ’Описатель массива’]

поле битов смешанный

25 00

26 0 0


[ ’Имя’] & [ ’Декартова метка’] & ’уэф’; [ Описатель массива’]

Таблица2



>

Описатели составных полей данных

Описание может быть прервано после любого подполя при помощи раздели­теля поля (1/14). Печатные символы в настоящем стандарте заменяют разделители информации, символы которых отсутствуют в некоторых устройствах печати. Пользо­ватель может выбрать свои печатные символы для разделителей информации при условии, что они не будут вносить неоднозначность в содержание данных.
  1. И м е н а, метки и управляющие элементы формата

Ниже описывается использование имен, меток и управляющих эле­ментов формата.

  1. Имя

Имя является необязательным заголовком для поля данных и его содержимого. В именах допускаются символы национального варианта или символы из набора по умолчанию, как определяется в п. 7.1.

  1. Метка

Метка являете^ необязательным заголовком для элементарных по­лей данных. Там, где элементарные поля данных образуют вектор, мет­ка должна иметь вид соответствующей векторной метки. Там, где эле­ментарные поля данных образуют массив, метка должна иметь вид со­ответствующей декартовой метки, которая преобразуется в массив ме­ток, соответствующий массиву данных. Векторные метки, входящие в декартову метку, представляют заголовки строк й столбцов соответст­вующего массива. Первая векторная метка декартовой метки может быть пустой (т.е. отсутствовать), при этом в описании двух- (и выше) мерного массива строки не будут поименованы. На наличие пустой первой вектор­ной метки указывают расположенные подряд разделители (1/15) и (2/10). Для использования этой конструкции требуется формат, который описы­вает массив в виде строки. Допускается использование пустых индиви­дуальных меток в векторных метках при условии наличия всех раздели­телей (по п. 6.2.4).

В метках допускаются символы национального варианта или символы из набора по умолчанию, как определено в п. 7.1. Символы и яв­ляются специальными графическими символами, используемыми для разделения векторных меток, и не должны появляться в имени элемента данных в подполе векторной метки.

  1. Управляющие элементы формата

Управляющие элементы формата определяют посимвольную или поби­товую структуру поля данных. Управляющие элементы формата обяза­тельны для данных типа поля битов и смешанных типов данных и необя­зательны для других типов данных, для которых отсутствие управляющих элементов формата указывает на данные, ограниченные разделителями. Управляющие элементы формата требуются для определения последова­тельности и типа подполей в поле смешанных данных или для определения ширины поля в полях без разделителей, или для определения раздели­телей пользователя.

Управляющие элементы формата ограничиваются разделителем эле­ментов (1/15), а в случае последнего подполя — разделителем поля (1/14) и будут иметь вид

({YlmYlk(mY,,...) где Y — подразумевает ZI Z (*) I Z (п) ;

ГА — обозначает символьные данные;

I — обозначает представление чисел с неявной точкой;

R - обозначает представление чисел с явной точкой немасштаби- рованное;

Z = < S — обозначает представление чисел с явной точкой масштабирован­ное;

С — обозначает поле битов символьного режима;

В — обозначает данные поля битов;

ч X - обозначает неиспользуемые позиции символов (содержимое неиспользуемой позиции не определено и должно игнорироваться при обмене);

Примечание. В управляющих элементах формата тип данных указывают про­писными латинскими буквами.

обозначает, что заключенное в скобки выражение следует обрабатывать как единое целое при необходимости повторе­ния и вложения;

I - означает выбор одного из выражений, разделенных этим симво­лом;

(*) и (п) - спецификации ширины поля;

* — произвольный разделитель пользователя;

п — положительное целое число, определяющее ширину поля (см. п. 7.6)*;

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

... — означает повторение предыдущего выражения.

Использование управляющих элементов формата подчинено следую­щим правилам:

  1. порядок полей и их тип, определенные управляющими элементами формата, должен соответствовать полю данных, когда просмотр формата происходит слева направо, расширяя вложенные термы слева. Если поле дан­ных не исчерпано, формат должен повторяться с левой круглой скобки пос­ледовательно до последней правой круглой скобки, исключая тескобки,кото- рые используются для ограничения ширины поля, и применяя соответст­вующий коэффициент повторения, если таковой имеется. Если такая пра­вая скобка отсутствует, управление форматом должно вернуться к первой левой круглой скобке спецификации формата;

  2. Z — подразумевает ограничение подполей ЗД разделителем эле­ментов (1/15), и,в случае последнего подполя, разделителем поля (1/14);

  3. (*) — подразумевает применение произвольного символа в качестве разделителя пользователя для соответствующего подполя данных. Разделите­лем в последнем подполе поля данных дол жен быть разделитель по ля (1/14).

Разделителем пользователя может быть национальный символ или символ из набора по умолчанию, как определено в п. 7.1;

  1. поля данных для 1-типа, R-типа и S-типа определяют число в форме, определенной соответствующими стандартами на представление чисел. Поле R-типа может содержать полностью определенную числовую форму S-типа;

  2. поля данных, содержащие данные в виде строки битов символьно­го режима (С-тип ), описывают строки битов в виде последовательности символов „0” или „1”, соответствующей цифрам в представленной строке битов;

  3. поля битов фиксированной дпины (В-тип) со спецификацией ши­рины поля) должны быть определены форматом и не должны иметь ог­раничителей подполей. Ширина поля битов фиксированной длины зада­ется в битах. Векторы и массивы, содержащие битовые данные фиксиро­ванной длины, должны иметь смежные подполя. Последний байт поля битов фиксированной длины или подполя, или ряда смежных полей би­тов фиксированной длины, или подполей должен быть дополнен справа двоичными нулями. Поле должно заканчиваться разделителем поля. Пер­вое из ряда полей битов фиксированной длины должно начинаться на гра­нице байта, а ряд полей битов фиксированной длины не должен иметь неявного повторения формата от левой скобки;

  4. поля битов переменной длины (В-тип без спецификации ширины поля) определяются следующим образом:

Байт 0

Байты 1 . . . п

Байты

(п + Г) ... ш

Счетчик длины поля

Длина поля битов

Данные поля битов, содержа­щие двоичные цифры

Дополнение нулями до полного байта



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

Примечание. Множество полей битов переменной длины (векторы и масси­вы) может определяться путем использования соответствующего формата, а поля битов переменной длины могут использоваться в полях смешанных данных.

6.2.4. Ч и с л о элементов в векторах и массивах

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

Примечание. Если массив имеет фиксированную размерность и длину во всех записях данных, и декартова метка не требуется, то метку можно заменить опи­сателем массива, состоящим из размерности массива, за которой следует длина каж­дого вектора, причем все разделяются запятыми.

При отсутствии декартовой метки или описателя массива, полю данных ЗД должно предшествовать положительное целое число, определяющее размерность массива, а также набор целых положительных чисел, опре­деляющий длину каждой размерности. Элементы описания массива долж­ны быть ограничены разделителем элементов (1/15). Массив должен быть упорядочен в виде Строки.

  1. РАСШИРЕНИЯ НАБОРА КОДИРОВАННЫХ СИМВОЛОВ

    1. Использование наборов кодированных символов

Настоящий стандарт требует использования Международной ссылоч­ной версии по стандарту ИСО 646 (ГОСТ 27463) с 7- или 8-битным пред­ставлением для всех ведущих меток, статей справочника и управляющих элементов поля и формата, включая разделители информации. Символы национальных вариантов не допускается использовать в управляющих полях, за исключением имен, меток и разделителей пользователя. Ссылка на ИСО 2022 (ГОСТ 27466) дана для использования расширенных кодов в полях данных, разделителях пользователя, именах и метках. Использо­вание расширений кодированных наборов символов, определенных в ИСО 2022 (ГОСТ 27466) как наборы символов по умолчанию, в полях дан­ных, именах, метках и для разделителей пользователя должно быть огра­ничено наборами, имеющими последовательности АР2 размером в три или четыре символа, как указано в ИСО 2022 (ГОСТ 27466).

Примечание. Расширение набора символов по умолчанию может быть объяв­лено для файла или отдельно для каждого поля данных, как описано в данном раз­деле.

Внутри полей данных можно использовать наборы символов национальных ва­риантов и любой из символьных наборов СО, С1, ГО, Г1, Г2 и ГЗ, как описано в ИСО 2022 (ГОСТ 27466), без ограничения длины последовательности АР2.

Бели расширенный набор Г1 указан как набор символов по умолча­нию в 7-битном представлении, то поля разделителей пользователя, меток и имен должны начинаться с набора ГО, пока не появится управляющий символ ВЫХ для вызова набора Г1. Действие вызванного набора долж­но заканчиваться с окончанием поля.

  1. Вызов наборов символов по умолчанию для полей

Для каждого поля набор символов по умолчанию, имеющий п-символь- ную последовательность АР2, вызывается посредством размещения в ЗОД ОП 17-19 символов (2/0) (2/1) (2/0) и увеличением длины подполя управляющих элементов поля на три байта.

/Три дополнительных байта, следующие непосредственно за управ­ляющими элементами поля ЗОД (см. табл. 2), должны содержать послед­ние (п - 1) символов последовательности АР2 (где п < 4), используемых для определения расширенного набора символов для соответствующего поля данных. Символы из последовательности АР2 должны быть выровне­ны влево и, если необходимо, поле должно быть дополнено справа сим­волами (2/0) . Если для некоторого поля не определено расширение набора символов, то эти три байта должны содержать символы ПРОБЕЛ.

  1. Вызов набора символов по умолчанию для файла