пятница, 27 апреля 2012 г.

Ребятам о форматах: Текстовый формат


Текстовый формат — представление информации в виде набора печатных символов. В спецификации MIME ему соответствует тип text/plain. Текстовому формату часто противопоставляются «двоичные данные», информация в которых не рассчитана на восприятие человеком. Текстовыми данными как правило называются последовательности из подмножества знаков, включающего только печатные знаки (буквы, цифры, знаки препинания) и некоторые управляющие знаки (пробелы, табуляции, переводы строки). Существуют методы (например, UUENCODE), позволяющие закодировать в текстовом формате произвольные данные любого формата.

Следует отметить, что многие сетевые протоколы рассчитаны на работу только с текстовыми данными и не могут обрабатывать произвольную последовательность байтов. Также, некоторые программы обрабатывают текстовые и двоичные данные по-разному, а некоторые предназначены для обработки именно текстовых данных.
Текстовые данные могут разделяться на строки. В UNIX-подобных ОС разбиение на строки кодируется одним управляющим знаком с кодом 10 в таблице ASCII (наименование — Line Feed, LF), в MS-DOS и Windows — двумя управляющими знаками с кодами 13 и 10 (Carriage Return и Line Feed, CR/LF). В Mac OS (но не Mac OS X) разбиение кодируется одним знаком с кодом 13.
Такое разбиение управляющим знаком или знаками продиктовано тем, как работали печатные машинки, через которые осуществлялся ввод в некоторых первых компьютерах — позиция ввода там указывалась положением валика с бумагой, и для поворота валика и перехода к следующей строке требовалось нажатие одной или двух клавиш или рычажков.
Также, знаки разбиения строк использовались для управления механическими принтерами (в качестве которых могли выступать те же печатные машинки, используемые и для ввода) — знак LF вызывал прокрутку рулона с бумагой, а знак CR вызывал возврат печатной каретки (там, где они были) в начало строки. Отсюда и название знаков — англ. Line Feed (перевод строки) и англ. Carriage Return (возврат каретки).
На некоторых платформах разбиение на строки делалось иначе — текст представлялся в виде последовательности записей фиксированной длины, для чего более короткие строки дополнялись нужным количеством пробелов. Это соответствовало представлению данных на перфокартах, которые служили средством ввода и даже хранения данных.
Основная цель применения текстовых данных — независимость кодирования или форматирования.  Текстовый формат часто используются для представления данных, которые сами не являются чисто текстовыми. В этом случае другие форматы данных «надстраиваются» над простым текстом, для чего их управляющие конструкции выражаются посредством печатных слов и знаков препинания. Это обеспечивает удобство работы с данными на двух уровнях — например, данные HTML и XML можно просматривать и редактировать с показом форматирования в режиме WYSIWYG, а можно их открыть в обычном текстовом редакторе и иметь доступ ко всем тонкостям языка разметки. В большинстве языков программирования предполагается использование текстового формата для исходного кода программ
В файлах конфигурации многих программ применяется текстовый формат, даже если там представлены числа и двоичные переключатели (да/нет). Это несколько усложняет программы из-за необходимости преобразования текстовых данных во внутренний формат и обратно, но появляется возможность править конфигурацию вручную, без использования средств настройки самой программы.

Комментариев нет:

Отправить комментарий