WikiDer > Формат обмена данными

Data Interchange Format

Формат обмена данными (.dif) - это текстовый файл формат используется для импорта / экспорта одиночных электронные таблицы между программами электронных таблиц (OpenOffice.org Calc, Excel, Gnumeric, StarCalc, Лотос 1-2-3, FileMaker, dBase, Рамки, Мультиплан, так далее.). Одним из ограничений является то, что формат DIF не может обрабатывать несколько электронных таблиц в одной книге.

Из-за сходства аббревиатуры и возраста (оба относятся к началу 1980-х годов) формат электронной таблицы DIF часто путают с Navy DIF; Тем не менее, Navy DIF - это не связанный с ним «формат обмена документами» для текстовых процессоров.[1]

История

DIF был разработан Software Arts, Inc. (разработчики VisiCalc программу) в начале 1980-х гг. Спецификация была включена во многие копии VisiCalc и опубликована в Журнал Byte. Боб Франкстон разработали формат при участии других, в том числе Митч Капор, который помог, чтобы он мог работать с его программой VisiPlot. (Позднее Капор основал Лотос и сделать Лотос 1-2-3 Произойдет.) Спецификация защищена авторским правом 1981.

DIF был зарегистрированным товарным знаком Software Arts Products Corp. (в то время юридическое название Software Arts).

Синтаксис

DIF хранит все в ASCII текстовый файл, чтобы смягчить многие кроссплатформенные проблемы еще во времена его создания. Однако современное программное обеспечение для электронных таблиц, например OpenOffice.org Calc и Gnumeric, предлагайте больше кодировка символов экспортировать / импортировать. Файл разделен на 2 раздела: заголовок и данные. Все в DIF представлено фрагментом из 2 или 3 строк. Заголовки получают кусок из 3 строк; data, 2. Фрагменты заголовка начинаются с текстового идентификатора, состоящего только из заглавных букв, только буквенных символов и менее 32 букв. Следующая строка должна быть парой чисел, а третья строка должна быть строкой в ​​кавычках. С другой стороны, блоки данных начинаются с пары чисел, а следующая строка представляет собой строку в кавычках или ключевое слово.

Значения

Значение занимает две строки: первая - это пара чисел, а вторая - строка или ключевое слово. Первое число пары указывает тип:

  • −1 - тип директивы, второе число игнорируется, следующая строка является одним из этих ключевых слов:
    • BOT - начало кортежа (начало строки)
    • EOD - конец данных
  • 0 - числовой тип, значение - второе число, следующая строка - одно из этих ключевых слов:
    • V - действительный
    • NA - нет данных
    • ERROR - ошибка
    • ИСТИНА - истинное логическое значение
    • FALSE - ложное логическое значение
  • 1 - строковый тип, второе число игнорируется, следующая строка - строка в двойных кавычках

Заголовок

Блок заголовка состоит из строки идентификатора, за которой следуют две строки значения.

  • ТАБЛИЦА - числовое значение следует за версией, неиспользуемая вторая строка значения содержит комментарий генератора
  • ВЕКТОРЫ - количество столбцов следует в виде числового значения
  • TUPLES - количество строк следует как числовое значение
  • ДАННЫЕ - после фиктивного числового значения 0 следуют данные для таблицы, каждой строке предшествует значение BOT, вся таблица заканчивается значением EOD

Числовые значения в блоках заголовков используют только пустую строку вместо ключевых слов достоверности.

Расхождения в реализациях

В некоторых реализациях (особенно в старых продуктах Microsoft) значения ВЕКТОРОВ и ТУПЛОВ менялись местами. Некоторые реализации нечувствительны к ошибкам в размерах таблицы, как написано в заголовке, и просто используют макет в разделе DATA.

Пример

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

ТекстЧисло
Привет1
в тексте есть двойная кавычка-3

В файле .dif это будет (→ указывает на комментарии):

ТАБЛИЦА 0,1 ВЕКТОРЫ "EXCEL" → количество столбцов следует за числовым значением 0,2 → '0' указывает, что это числовой тип, '2', так как у нас есть 2 столбца "" ТАБЛИЦЫ → количество строк следует как числовое value0,3 → '0' указывает, что это числовой тип, '3', поскольку у нас есть 3 строки "" DATA → после фиктивного числового значения 0 данные для таблицы следуют за 0,0 → это фиктивное числовое значение 0 " «-1,0 → '-1' для типа директивы. За ним следует либо 'BOT', либо 'EOD'BOT → означает начало строки1,0 →' 1 ', поскольку ячейка содержит строку. (Второе число игнорируется) «Текст» → это строка, которая находится в ячейке 1,0 → '1', поскольку ячейка содержит строку. «Число» -1,0 BOT → другая строка 1,0 → следующая строка "привет" 0,1 → числовое значение ('0') значения '1'V →' V 'для' Valid'-1,0 BOT → другая строка1,0 "имеет двойную кавычку" "в тексте" 0 , -3V-1,0 EOD → Конец данных

Смотрите также

Рекомендации

  1. ^ Петроски, Мэри (5 августа 1985 г.). «Рынок преобразования файлов растет». InfoWorld. Vol. 7 нет. 31. С. 36–37. «Среди форматов файлов, предназначенных для облегчения обмена текстовыми файлами между микрокомпьютерами, на которых установлено различное программное обеспечение для обработки текстов, наибольшую поддержку, по-видимому, имеют архитектура содержимого документов IBM (DCA) и формат обмена документами ВМС США (DIF)».

Источники

внешняя ссылка