Каким образом файлы/группы/записи/единицы разделителя управляют символами и их использование?

Unicode определяет несколько управляющих символов из ASCII. http://www.unicode.org/charts/PDF/U0000.pdf

Я вижу, что многие управляющие символы широко используются, но я действительно не вижу, где используются "разделители информации". (U + 001C ~ U + 001F)

Что они? Какова их история? Где они использовали?

Ответ 1

Ламмерт Бис объясняет как их использование, так и историю.

28 - FS - разделитель файлов. Разделитель файлов FS - интересный управляющий код, поскольку он дает нам представление о том, как компьютерная технология была организована в шестидесятые годы. Теперь мы привыкли к медиафайлам с произвольным доступом, таким как RAM и магнитные диски, но когда был определен стандарт ASCII, большинство данных было серийным. Я говорю не только о последовательной связи, но и о серийном хранении, например, перфокартах, бумажной ленте и магнитных лентах. В такой ситуации явно эффективно иметь один управляющий код для сигнализации разделения двух файлов. Для этой цели была определена ФС.

29 - GS - разделитель групп. Хранение данных было одной из основных причин, по которым некоторые контрольные коды попадали в определение ASCII. Базы данных чаще всего настраиваются на таблицы, содержащие записи. Все записи в одной таблице имеют один и тот же тип, но записи разных таблиц могут быть разными. Групповой разделитель GS определяется для разделения таблиц в системе хранения последовательных данных. Обратите внимание, что таблица слов не использовалась в тот момент, и люди ASCII называли ее группой.

30 - RS - разделитель записи. В группе (или таблице) записи разделяются RS или разделителем записей.

31 - US - Unit separator. Наименьшие элементы данных, которые должны храниться в базе данных, называются единицами в определении ASCII. Мы бы назвали их полем сейчас. Разделитель блоков разделяет эти поля в среде хранения последовательных данных. Большинство современных реализаций базы данных требуют, чтобы поля большинства типов имели фиксированную длину. Достаточно места в записи выделяется для хранения максимально возможного члена каждого поля, даже если это не обязательно в большинстве случаев. Во многих ситуациях это занимает много места. Контрольный код США позволяет всем полям иметь переменную длину. Если пространство хранения данных ограничено - как в шестидесятые годы - это хороший способ сохранить ценное пространство. С другой стороны, последовательное хранилище гораздо менее эффективно, чем оперативная память и управляемые таблицами в реальном времени. Я не могу представить ситуацию, когда работают современные базы данных SQL с данными, хранящимися на бумажной ленте или магнитных катушках...

Разделитель блоков может обеспечить по существу ту же цель, что и запятая в файле CSV или вкладке в файле с разделителями табуляции.

Ответ 2

Вы имели в виду, что большинство из них обычно не используются в наши дни? Управляющие символы в основном относятся к функциям управления устройством, но некоторые из них, возможно, использовались в качестве разделителей в текстовых файлах. Для быстрой справки проверьте таблицу C0 Controls.

Разделители информации использовались для группировки данных простым способом, но в наши дни для организации данных используются бинарные форматы или формат XML. Есть все еще любопытства, такие как внутреннее использование U + 001E и U + 001F в Microsoft Word для реализации собственных идей программы "несовременный дефис" и "необязательный дефис" (в отличие от символов Unicode для аналогичных целей). Это в основном иллюстрирует, что программы могут использовать управляющие символы странными способами. Конечно, проблемы возникают, если символы включены в текст, передаваемый другим программам.