Какой лучший символ (разделители) разделителя/разделителя для файла db открытого текста?
Какой лучший разделитель/разделитель символов для файла dc plaintext?
Я рассматривал использование |
, ,
, <TAB>
, ;
и т.д. Но все они кажутся возможными, чтобы сломать, когда близлежащие записи имеют достаточно специальные символы.
Итак, опытные пользователи баз данных, какие символы-разделители вы предлагаете использовать?
Ответы
Ответ 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 был символом казначейства, где бы он ни использовался, он будет переписан в файл как @, простой, но эффективный, даже если он уничтожит созданный образец материала.