ASCII нечитаемые символы 28, 29 31

хорошо, я здесь толстый. Я обрабатываю файл, который мне нужно разделить на основе разделителя.

следующий код показывает разделители, определенные для файлов, которые я обрабатываю

private static final String    component   = Character.toString((char) 31);
private static final String    data        = Character.toString((char) 29);
private static final String    segment     = Character.toString((char) 28);

может кто-нибудь объяснить значение этих конкретных сепараторов?

глядя на коды ascii, эти разделители являются разделителями файлов, групп и единиц. Я не совсем понимаю, что это значит.

спасибо

4 ответов


читать разделитель ASCII этого урока чтобы понять это. А потом читать в этой статье в частности, речь идет о ASCII - способе разграничения текста с использованием 28,29 и 31.


нашел это здесь. Классный сайт!

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

29 – GS – разделитель группы Был хранения данных основные причины некоторого контроля коды для входа в определение ASCII. Базы данных в большинстве случаев настроены с таблицами, содержащими записи. Все записи в одной таблице имеют то же самое тип, но записи разные таблицы может быть разной. Разделитель групп GS определяется для разделения таблиц в a последовательная система хранения данных. Заметить что при этом слово "таблица" не использовалось. момент и люди ASCII назвали его группировка.

30 – RS – разделитель записи Внутри группы (или таблицы) записи разделены с RS или записью разделитель.

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


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


характеры управлением ascii колебаются от 28-31. (0x1C до 0x1F)

31 Unit Separator
30 Record Separator
29 Group Separator
28 File Separator

пример вызова:

char record_separator = 0x1F;
String s = "hello" + record_separator + "world"