90 votes

Caractère de délimitation le moins utilisé dans un texte normal < ASCII 128

Pour des raisons de codage qui vous horrifieraient (je suis trop gêné pour le dire), je dois stocker un certain nombre d'éléments de texte dans une seule chaîne.

Je vais les délimiter en utilisant un caractère.

Quel est le meilleur caractère à utiliser pour cela, c'est-à-dire celui qui a le moins de chances d'apparaître dans le texte ? Il doit être imprimable et probablement inférieur à 128 en ASCII pour éviter les problèmes de localisation.

0voto

J'ai déjà utilisé le double pipe et le double caret. L'idée d'un caractère non imprimable fonctionne si vous ne créez ou ne modifiez pas manuellement le fichier. Pour le stockage et la récupération rapide de fichiers à accès aléatoire, on utilise la largeur de champ. Vous n'avez même pas besoin de lire le fichier vous tirez littéralement du fichier par référence. C'est ainsi que les bases de données effectuent une partie du stockage mais elles gèrent également les espaces entre les enregistrements et autres. Et cela a introduit le problème de la largeur maximale des éléments de données. (L'index joint un en-tête qui est utilisé pour définir la largeur de chaque élément et son type de données à l'origine plus tard, ils ont introduit la compression avec le remappage des caractères. Cela permet à un fichier texte d'obtenir environ 1/8 de sa taille lors de la transmission un encodage de caractères à longueur variable pour la victoire.

0voto

Mila Nautikus Points 31

Rendez-le dynamique : )

annoncer vos caractères de contrôle dans l'en-tête du fichier

par exemple

delimiter: ~
escape: \
wrapline: $
width: 19

hello world~this i$
s \\just\\ a sampl$
e text~$someVar$~h$
ere is some \~\~ma$
rkdown strikethrou$
gh\~\~ text

donnerait aux cordes
hello world
this is \just\ a sample text
$someVar$
here is some ~~markdown strikethrough~~ text

J'ai mis en œuvre quelque chose de similaire :
a plaintar format de conteneur de texte,
pour échapper et envelopper le texte utf16 en ascii,
comme une alternative à mime multipart messages.
voir https://github.com/milahu/live-diff-html-editor

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