60 votes

Quel(s) est(s) le(s) meilleur(s) caractère(s) séparateur/délimiteur pour un fichier de base de données en texte brut ?

Quel(s) est(s) le(s) meilleur(s) caractère(s) séparateur/délimiteur pour un fichier de base de données en texte brut ?

J'ai envisagé d'utiliser | , , , <TAB> , ; , etc. avoir des caractères assez spéciaux.

Alors, les utilisateurs de bases de données expérimentés, quel(s) caractère(s) délimiteurs suggérez-vous d'utiliser ?

46voto

Michas Points 1235

Eh bien, il y a peu de caractères de séparation en US-ASCII, hex 1c , 1d , 1e et 1f . Le texte brut ne doit pas les contenir.

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

40voto

p.campbell Points 42771

Quel que soit le caractère que vous choisissez comme séparateur, vous voudrez échapper à toute instance de ce caractère dans vos données.

Peut-être tilde( ~ ), ou passez à un caractère ASCII élevé.

Quoi qu'il en soit, s'il y a une chance qu'il puisse se faufiler dans vos données, vous voudriez l'échapper avant d'écrire dans votre fichier en texte brut.

34voto

Emis Points 532

Je pense que la meilleure façon de joindre une chaîne avec trois cerises '@@@'.

15voto

japage Points 121

Pour une situation particulière d'entreposage de données où nous avions le contrôle du fichier source, mais l'échappement et la qualification étaient onéreux, nous avons pu prendre la décision commerciale qu'un caractère ASCII étendu serait supprimé des données (si jamais cela se produit, ce qui n'a pas été le cas. 't).

Lors de la création du fichier source délimité, nous avons supprimé toutes les instances de (alt+219) dans les données et utilisé ce caractère pour le délimiteur. Bonus, ce personnage est vraiment facile à repérer.

6voto

Personnellement, j'aime utiliser « comme caractère délimiteur pour diviser les données dans des fichiers CSV, je ne pense pas avoir jamais trouvé d'instance naturelle de « et » personnellement, alors voici mes deux centimes à ce sujet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X