Подтвердить что ты не робот

Какой лучший символ (разделители) разделителя/разделителя для файла db открытого текста?

Какой лучший разделитель/разделитель символов для файла dc plaintext?

Я рассматривал использование |, ,, <TAB>, ; и т.д. Но все они кажутся возможными, чтобы сломать, когда близлежащие записи имеют достаточно специальные символы.

Итак, опытные пользователи баз данных, какие символы-разделители вы предлагаете использовать?

4b9b3361

Ответ 1

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

Возможно, тильда (~) или перейти к символу с высоким ASCII.

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

Ответ 2

Я думаю, что лучший способ присоединиться к цепочке с тремя вишенками "@@@".

Ответ 3

Для конкретной ситуации с хранилищем данных, когда у нас был контроль над исходным файлом, но экранирование и проверка были обременительными, мы смогли принять бизнес-решение о том, что один расширенный символ ASCII будет удален из данных (если это когда-либо произойдет, которого у него нет).

При создании файла с разделителями в исходном файле мы удалили любые экземпляры █ (alt + 219) в данных и использовали этот символ для разделителя. Бонус, этот персонаж действительно легко заметить.

Ответ 4

Ну, в US-ASCII есть несколько разделительных символов, hex 1c, 1d, 1e и 1f. Стандартный текст не должен содержать их.

1c  FS  ␜  ^\  File Separator
1d  GS  ␝  ^]  Group Separator
1e  RS  ␞  ^^  Record Separator
1f  US  ␟  ^_  Unit Separator

Ответ 5

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

Ответ 6

Если вы не можете управлять вложенными в него данными, не используйте простой текст db. Здесь не может быть вообще правильного ответа. Без контекста или ограничений это ложный вопрос.

В: Если бы я сказал, что буду принимать буквы в нижнем регистре в качестве данных, я мог бы использовать любой другой символ в качестве разделителя. Даже, скажем, номер 9, и со мной все будет в порядке. Ни один символ, кроме символа нижнего регистра, не был бы лучше, чем любой другой.

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

Если вам нужно слишком стараться, чтобы получить свой db в обычный текст, вам, вероятно, нужен двоичный db. Вы посмотрели на sqlite? Он довольно прост в использовании, доступен во многих контекстах и ​​имеет массу преимуществ над простым текстом db.

Ответ 7

Я использовал конвертер ePUB раньше, и разделитель char был символом казначейства, где бы он ни использовался, он будет переписан в файл как @, простой, но эффективный, даже если он уничтожит созданный образец материала.