Формат обмена данными
![]() | Эта статья может быть слишком технической для понимания большинства читателей . ( сентябрь 2010 г. ) |
Формат обмена данными (.dif) — это текстового файла формат , используемый для импорта/экспорта отдельных электронных таблиц между программами работы с электронными таблицами.
Приложения, которые по-прежнему поддерживают формат DIF: Collabora Online , Excel , [примечание 1] Gnumeric и LibreOffice Calc . Историческими приложениями, которые поддерживали его до тех пор, пока они не вышли из строя или больше не признают поддержку формата, являются dBase , FileMaker , Framework , Lotus 1-2-3 , Multiplan , OpenOffice.org Calc и StarCalc . [1] [2]
Ограничением формата DIF является то, что он не может обрабатывать несколько электронных таблиц в одной книге. Из-за сходства сокращений и возраста (оба датируются началом 1980-х годов) формат электронной таблицы DIF часто путают с Navy DIF ; Navy DIF, однако, представляет собой несвязанный «формат обмена документами» для текстовых процессоров. [3]
История
[ редактировать ]DIF был разработан компанией Software Arts, Inc. (разработчиками программы VisiCalc ) в начале 1980-х годов. Спецификация была включена во многие копии VisiCalc и опубликована в журнале Byte Magazine . Боб Франкстон разработал формат при участии других, в том числе Митча Капора , который помог ему работать с его программой VisiPlot. (Позже Капор основал Lotus и воплотил в жизнь Lotus 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 – valid
- НП – нет в наличии
- ОШИБКА – ошибка
- ИСТИНА – истинное логическое значение
- ЛОЖЬ – ложное логическое значение.
- 1 – тип строки, второе число игнорируется, следующая строка – строка в двойных кавычках.
Часть заголовка
[ редактировать ]Фрагмент заголовка состоит из строки идентификатора, за которой следуют две строки значения.
- ТАБЛИЦА — за версией следует числовое значение, неиспользуемая вторая строка значения содержит комментарий генератора.
- ВЕКТОРЫ — количество столбцов указывается в числовом значении.
- КОРЮКИ — количество строк указывается в числовом значении.
- ДАННЫЕ — после фиктивного числового значения 0 следуют данные таблицы, каждой строке предшествует значение BOT, вся таблица заканчивается значением EOD.
Числовые значения в фрагментах заголовков используют пустую строку вместо ключевых слов достоверности.
Расхождения в реализациях
[ редактировать ]В некоторых реализациях (особенно в старых продуктах Microsoft) значения векторов и кортежей менялись местами. Некоторые реализации нечувствительны к ошибкам в размерах таблицы, как написано в шапке, и просто используют макет в разделе ДАННЫЕ.
Пример
[ редактировать ]Например, предположим, что у нас есть два столбца с одной строкой заголовка столбца и двумя строками данных:
Текст | Число |
---|---|
привет | 1 |
имеет двойную кавычку "в тексте | −3 |
В файле .dif это будет (→ указывает на комментарии):
TABLE 0,1 "EXCEL" VECTORS → the number of columns follows as a numeric value 0,2 → '0' indicates that it's a numeric type, '2' since we have 2 columns "" TUPLES → the number of rows follows as a numeric value 0,3 → '0' indicates that it's a numeric type, '3' since we have 3 rows "" DATA → after a dummy 0 numeric value, the data for the table follow 0,0 → this is the dummy 0 numeric value "" -1,0 → '-1' for the directive type. This is followed by either a 'BOT' or an 'EOD' BOT → signifies the start of a row 1,0 → '1' since the cell contains a string. (The second number is ignored) "Text" → this is the String that's in the cell 1,0 → '1' since the cell contains a string. "Number" -1,0 BOT → another row 1,0 → a string follows "hello" 0,1 → numeric value ('0') of value '1' V → 'V' is for 'Valid' -1,0 BOT → another row 1,0 "has a double quote "" in text" 0,-3 V -1,0 EOD → End of Data
См. также
[ редактировать ]- Обмен данными
- Значения, разделенные запятыми (формат CSV)
Примечания
[ редактировать ]- ^ Реализация Microsoft Excel вызвала проблемы совместимости, см. § Расхождения в реализациях .
Ссылки
[ редактировать ]- ^ «LibreOffice Calc – Поддерживаемые форматы файлов» . LibreOfficeHelp.com . 06.10.2020. Архивировано из оригинала 13 декабря 2016 г. Проверено 8 сентября 2020 г.
- ^ «Форматы файлов, поддерживаемые в Excel» . support.microsoft.com . Архивировано из оригинала 11 ноября 2020 г. Проверено 08 сентября 2021 г.
- ^ Петроски, Мэри (5 августа 1985 г.). «Рынок конвертации файлов растет» . Инфомир . Том. 7, нет. 31. С. 36–37. «Среди форматов файлов, предназначенных для облегчения обмена текстовыми файлами между микрокомпьютерами, на которых установлено различное программное обеспечение для обработки текста, наибольшую поддержку, по-видимому, имеют архитектура содержимого документов IBM (DCA) и формат обмена документами ВМС США (DIF).
Источники
[ редактировать ]- Джефф Уолден: Форматы файлов для популярного программного обеспечения для ПК. Джон Уайли и сыновья, Inc., 1986. ISBN 0-471-83671-0
- Комментарий Дэна Бриклина , одного из разработчиков VisiCalc , на странице обсуждения этой статьи.
- Файлы данных Commodore 64, БАЗОВОЕ руководство. (1984). Дэвид Миллер. ISBN 0835907910 . Страницы 212–231.
Внешние ссылки
[ редактировать ]- Объявление о создании расчетной палаты DIF от Software Arts Products Corp.