17/10/2007, 16h03
|
Sujet fichier ascii en binaire - Message #1
|
Date d'inscription: février 2007
Messages: 315
|
fichier ascii en binaire
Bonjour,
Comment puis-je faire pour convertir un fichier ascii de "flottant" en fichier binaire "big endian"?
Merci par avance
|
|
|
|
Aujourd'hui
|
|
|
|
Liens sponsorisés
|
|
|
|
|
17/10/2007, 17h27
|
Sujet fichier ascii en binaire - Message #2
|
Date d'inscription: août 2007
Messages: 28
|
Re : fichier ascii en binaire
Pourrais-tu développer un peu ta question? Tu veux le programmer toi-même, ou tu cherches un logiciel? Je ne comprends pas ce que tu veux faire avec le fichier : un fichier n'est jamais "flottant"...
|
|
|
|
17/10/2007, 18h07
|
Sujet fichier ascii en binaire - Message #3
|
Date d'inscription: février 2007
Messages: 315
|
Re : fichier ascii en binaire
oups, jai pas été très clair...
donc le fichier que jai créée sous matlab est juste une colonne de flottants,
et jai besoin de le convertir en fichier binaire !
Malheureusement je n'y connais rien pour ainsi dire en programmation
Merci pour ton intéret
|
|
|
|
17/10/2007, 18h42
|
Sujet fichier ascii en binaire - Message #4
|
Date d'inscription: août 2005
Messages: 417
|
Re : fichier ascii en binaire
Bonjour
Si je comprend bien, ton fichier source est donc composé d'informations signifiant des nombres flottants, et tu veux pouvoir recuperer ces donnees sous une autre forme.
Des le moment où tu traite de l'information par ordinateurs, celles-ci se presentent sous forme binaire: une suite de 0 et de 1.
Un fichier est donc une information binaire et ce, quel que soit le format employé: .doc, .jpg, .rtf... etc etc
Ensuite, son traitement et son rendu va dependre du logiciel utilise pour le creer, et de la nature de ces informations.
Pour repondre a ta question, il faut donc que l'on connaisse
1) l'extension de ce fichier contenant ces nombres flottants
2) La destination à laquelle ces informations sont vouees, c'est a dire que veux tu récupérer precisement pour les traiter et de quelle manière?
A priori, la demarche est la suivante:
parcours du fichier source
reperage des donnees a recuperer
lecture de ces donnees
ecriture de ces donnees vers le fichier de destination
A bientot
__________________
lui: "le vide, ca creuse"
elle: "A table!"
|
|
|
|
18/10/2007, 11h29
|
Sujet fichier ascii en binaire - Message #5
|
Date d'inscription: février 2007
Messages: 315
|
Re : fichier ascii en binaire
bonjour,
Posté par manu_mars
Bonjour
Si je comprend bien, ton fichier source est donc composé d'informations signifiant des nombres flottants, et tu veux pouvoir recuperer ces donnees sous une autre forme.
Des le moment où tu traite de l'information par ordinateurs, celles-ci se presentent sous forme binaire: une suite de 0 et de 1.
Un fichier est donc une information binaire et ce, quel que soit le format employé: .doc, .jpg, .rtf... etc etc
Ensuite, son traitement et son rendu va dependre du logiciel utilise pour le creer, et de la nature de ces informations.
d'accord
Posté par manu_mars
Pour repondre a ta question, il faut donc que l'on connaisse
1) l'extension de ce fichier contenant ces nombres flottants
il s'agit d'un tableau de données composés de nombres flottants
issu d'un programme matlab (par l'intermédiaire d'un "save" pour faire un format ASCII)
donc j'y met l'extension que je veux...
Posté par manu_mars
2) La destination à laquelle ces informations sont vouees, c'est a dire que veux tu récupérer precisement pour les traiter et de quelle manière?
In fine, c'est fichier "purement" binaire que je désire... pour l'introduire dans un autre programme réclamant ce format!
Apparemment (mais je n'y connais rien) je crois que c'est parce que
pour de très gros fichier, c'est beaucoup plus rapide....
Bref un fichier où on arrive à rien lire de concret avec un "éditeur de texte"
à part des caractères n'importe comment
(Désolé si je suis pas très clair)
J'ai bien essayé avec la fonction fwrite de matlab...
mais à la lecture le prog en question ne lit pas les bonnes valeurs 
Mais il ouvre bien le fichier!!!
NB: une idée me vient si j'ouvre avec un éditeur, je vois qu'il me sort les chiffres sous la forme exponentielle, du style 100 -> 1.0e+02
Ca peut venir de là???? puisqu'après en convertissant en binaire il crée l'équivalent du "e"
et je sais pas comment changer ça sous matlab...
Merci par avance
|
|
|
|
18/10/2007, 14h08
|
Sujet fichier ascii en binaire - Message #6
|
Date d'inscription: juin 2006
Localisation: Toulon
Âge: 29
Messages: 355
|
Re : fichier ascii en binaire
C'est pourtant bien la fonction fwrite qu'il faut utiliser, maintenant il faut savoir quelle précision ton programme lit les données, et si celle-ci est différente à la précision MATLAB.
Il faut donc que tu précise l'argument 'precision' en appelant fwrite avec 'integer', 'float' ou 'double'...
__________________
Tant qu'il y à de la vis, il y a du tourne-vis
|
|
|
|
18/10/2007, 15h16
|
Sujet fichier ascii en binaire - Message #7
|
Date d'inscription: février 2007
Messages: 315
|
Re : fichier ascii en binaire
Posté par lou_ibmix_xi
C'est pourtant bien la fonction fwrite qu'il faut utiliser, maintenant il faut savoir quelle précision ton programme lit les données, et si celle-ci est différente à la précision MATLAB.
Il faut donc que tu précise l'argument 'precision' en appelant fwrite avec 'integer', 'float' ou 'double'...
Merci pour ta réponse!
Mais j'ai essayé diverses possibilités... et rien n'y fait 
et le prog réclame une colonne de "float"....
Au passage, c'est quoi les différences entre le IEEE, le cray etc. évoqué pour fread dans matlab?
|
|
|
|
18/10/2007, 17h18
|
Sujet fichier ascii en binaire - Message #8
|
Date d'inscription: juin 2006
Localisation: Toulon
Âge: 29
Messages: 355
|
Re : fichier ascii en binaire
IEEE (le ou be), VAX, CRAY sont des formats de codages différents pour les nombres à virgules flottantes, celui que tu dois utiliser dépends de la machine cible, donc à choisir entre 'ieee-le' ou 'ieee-be' pour du little endian ou big endian (je suppose que tu n'as pas de CRAY ni de VAX).
Il faut que tu sois sur du format de lecture de ton programme, il attends des 'float' (donc des flottants 32 bits), mais little endian ou big endian? Parce que ca change tout, par exemple 1 en flottant IEEE 32 bits little endian donne 0x0000803f, et si tu le lis en big endian tu trouveras 32831!
__________________
Tant qu'il y à de la vis, il y a du tourne-vis
|
|
|
|
18/10/2007, 19h32
|
Sujet fichier ascii en binaire - Message #9
|
Date d'inscription: juin 2005
Localisation: Sherbrooke (Canada)
Âge: 33
Messages: 489
|
Re : fichier ascii en binaire
Posté par lou_ibmix_xi
[...]mais little endian ou big endian?
Il l'a déjà dit c'est big endian.
@vin_100 : Mais à mon avis tu fais fausse route. Le problème c'est que tu penses qu'il suffit d'écrire des nombres au format binaire pour qu'il soit lisible dans un autre programme. Hors souvent, l'utilité de sauvegarder dans un format binaire est qu'on rajoute de l'information supplémentaire qu'il serait long d'écrire sous forme textuelle (et surtout fastidieux à relire, bien que ça devient habituel avec le format XML). Ainsi donc, si tu sauvegardes juste les nombres au format binaire et que tu essayes de les ouvrir avec Word, rien ne se passera. Il faut bien plus d'information dans ton document. Et c'est le cas d'un format Matlab par exemple.
Si tu nous disais exactement, du début, ce que tu comptes faire ?
Parce que si c'est pour lire ton fichier dans Matlab, il y a bien plus simple ?
Si c'est pour utiliser un programme qui lit des fichiers provenant de Matlab, il faut que tu reconstruises le fichier comme Matlab le fait (donc chercher dans la spécification si c'est indiqué).
__________________
War does not decide who's right, but who's left. (Bertrand Russell)
|
|
|
|
19/10/2007, 12h27
|
Sujet fichier ascii en binaire - Message #10
|
Date d'inscription: février 2007
Messages: 315
|
Re : fichier ascii en binaire
Posté par Gre
@vin_100 : Mais à mon avis tu fais fausse route. Le problème c'est que tu penses qu'il suffit d'écrire des nombres au format binaire pour qu'il soit lisible dans un autre programme. Hors souvent, l'utilité de sauvegarder dans un format binaire est qu'on rajoute de l'information supplémentaire qu'il serait long d'écrire sous forme textuelle (et surtout fastidieux à relire, bien que ça devient habituel avec le format XML). Ainsi donc, si tu sauvegardes juste les nombres au format binaire et que tu essayes de les ouvrir avec Word, rien ne se passera. Il faut bien plus d'information dans ton document. Et c'est le cas d'un format Matlab par exemple.
Bonjour et merci...
non non je ne faisais pas fausse route 
après quelques tentatives en ascii (mais le programme n'accepte que des petit fichier dans ce cas...), je me suis rendu compte que l'erreur venait de l'ecriture sous forme scientifique, j'ai donc créer un nouveau fil car je n'arrive pas 0 la changer sous matlab
Mais si je fais les premières à la main ca marche!!!! 
Mais plusieurs dizaines de milliers (au minimum!!!), ca risque d'etre pénible...
NB: Pour la petite histoire, le coup de vice était pas évident à voir, car il apparait seulement à partir de 10 (il lisait pas ce qu'il y avait derrière le "e"),
et j'avais testé que jusque 8 (c'est ballot)
|
|
|
|
19/10/2007, 22h50
|
Sujet fichier ascii en binaire - Message #11
|
Date d'inscription: juin 2005
Localisation: Sherbrooke (Canada)
Âge: 33
Messages: 489
|
Re : fichier ascii en binaire
Posté par vin_100
Bonjour et merci...
non non je ne faisais pas fausse route  [...]
Bon bin tant mieux 
__________________
War does not decide who's right, but who's left. (Bertrand Russell)
|
|
|
|
|
 |
Bienvenue |
 |
Si ceci est votre première visite, vous devez vous inscrire avant de pouvoir envoyer des messages. En étant inscrit vous pourrez poster votre question, participer aux débats, joindre vos images... alors n'attendez-plus, cela vous prendra 1 minute !
Pour commencer à lire les messages, depuis la page d'accueil des forums, sélectionnez le forum qui vous tente et partez ensuite à sa découverte...
|
 |
Publicité |
 |
|
| A voir aussi (Futura Sciences n'est pas responsable du contenu de ces publicités) |
|
|
| Outils |
|
|
| Modes d'affichage |
Mode linéaire
|
Règles de messages
|
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui
Le code HTML peut être employé : non
|
|
|
Fuseau horaire GMT +2. Il est actuellement 00h08.
Propulsé par vBulletin
Copyright © 2000 - 2008, Jelsoft Enterprises Ltd. Tous droits réservés.
Traduction par l'association vBulletin francophone
|
|