2009-04-17 5 views
3

Je suis tombé dans une situation où il serait avantageux de stocker à la fois des données ascii et binaires dans un fichier délimité par des tabulations. Mes tentatives initiales étaient horribles. Cela vaut-il même la peine de poursuivre? Aucun conseil? Je devrai pouvoir analyser facilement le fichier délimité par des tabulations qui en résulte facilement. En aval, ces données vont dans un MySQLdb. Et ce serait bien d'avoir les données binaires stockées dans la base de données.Stockage de données ascii et binaires dans un seul fichier délimité par des tabulations

Répondre

7

base64 codez vos données binaires. Peut-être le préfixer avec base64: ou quelque chose si cela aide. Ensuite, c'est juste un fichier ASCII et vous pouvez facilement l'analyser en tant que tel.

0

Avez-vous pensé à l'utilisation d'un format différent par opposition à délimité par des tabulations?

Puisque les données binaires peuvent contenir l'équivalent d'un caractère de tabulation, ce n'est pas une tâche triviale.

0

Peut-être stocker les données binaires au format hex-blob? C'est au moins supporté par la chaîne d'outils MySQL.

0

Bien que je sois fortement contre cette méthode, vous pouvez le stocker directement dans le fichier tant que vous connaissez la longueur exacte en octets des données binaires. Vous pouvez ensuite commencer à lire à partir du caractère de tabulation après la valeur de longueur. Heureusement, après avoir lu cette longueur d'octets, vous avez un autre caractère de tabulation ou un saut de ligne.

Un exemple:

ASCII 1 ASCII 2 BinaryLength Blob 
this is horrible 18 ®##]-û¢?#ý¯#d  ­ú2 
please don't 48 Þ­¾ï¥Zߨ}è¨Ùب©×ÚX©©x©†Ú…zŠWG©j ‡­˜zǘǰ˜y|‰}— 

Vous devriez vraiment base64 coder les données binaires, cependant.

Questions connexes