Bonjour
J'aimerais lire un fichier binaire afin de pouvoir récupérer des données et les afficher ensuite.
Je sais comment les données sont rangées dans le fichier, mais je ne sais pas trop comment m'y prendre pour les lire étant données qu'elles sont écrites selon des précisions qui varient (donc un simple A=fread(File,'int16'); par exemple, ne marche pas).
Voici comment les données sont rangées :
26 bytes : je veux les passer
Variables : enregistrées comme : 2-byte integer in standard Intel Low bytes-high byte format (du little-endian byte ordering je suppose?)
10 bytes : chaîne ASCII contenant la date et terminée par un 0.
10 bytes : chaîne ASCII contenant la durée du scan et terminée par un 0.
2 bytes : unsigned integer (binary) contenant le numéro du scan
8 bytes : double precision floating point value
8 bytes : double precision floating point value
8 bytes : double precision floating point value
8 bytes : double precision floating point value
2 bytes : integer value
2 bytes : integer value
24 bytes : vecteurs de 12 entiers
24 bytes : vecteurs de 12 entiers
24 bytes : vecteurs de 12 entiers
26 bytes : que je veux passer
Je ne sais pas trop comment dire à Matlab de ne sélectionner tant de bytes et de les lire en telle précision.
P.S. : pour le nombre de data (variable), il varie tout le temps. Mais vu que la fin du fichier est toujours la même (156 bytes), de même que le début (26 bytes), on peux retrouver le nombre de variable facilement.
P.P.S. : je peux vous fournir un fichier si ça peux aider.
Merci pour votre aide!
Partager