fichier ascii en binaire
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

fichier ascii en binaire



  1. #1
    invite58549cb8

    fichier ascii en binaire


    ------

    Bonjour,

    Comment puis-je faire pour convertir un fichier ascii de "flottant" en fichier binaire "big endian"?

    Merci par avance

    -----

  2. #2
    inviteeb8e8d41

    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"...

  3. #3
    invite58549cb8

    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

  4. #4
    invite3dc2c2f6

    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

  5. A voir en vidéo sur Futura
  6. #5
    invite58549cb8

    Re : fichier ascii en binaire

    bonjour,
    Citation Envoyé par manu_mars Voir le message
    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
    Citation Envoyé par manu_mars Voir le message
    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...
    Citation Envoyé par manu_mars Voir le message
    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

  7. #6
    inviteb9f49292

    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'...

  8. #7
    invite58549cb8

    Re : fichier ascii en binaire

    Citation Envoyé par lou_ibmix_xi Voir le message
    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?

  9. #8
    inviteb9f49292

    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!

  10. #9
    invite7a8ce750

    Re : fichier ascii en binaire

    Citation Envoyé par lou_ibmix_xi Voir le message
    [...]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é).

  11. #10
    invite58549cb8

    Re : fichier ascii en binaire

    Citation Envoyé par Gre Voir le message
    @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)

  12. #11
    invite7a8ce750

    Re : fichier ascii en binaire

    Citation Envoyé par vin_100 Voir le message
    Bonjour et merci...
    non non je ne faisais pas fausse route [...]
    Bon bin tant mieux

Discussions similaires

  1. Stéréogramme en ASCII
    Par invitee58f5773 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 02/06/2007, 10h00
  2. ascii to décimal
    Par invite3c59dc04 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 30/05/2006, 21h35
  3. fichier binaire Lecroy
    Par invitefb5ac34d dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 15/03/2006, 11h42
  4. conversion ASCII
    Par invite3abb5cbf dans le forum Logiciel - Software - Open Source
    Réponses: 11
    Dernier message: 05/06/2005, 23h35
  5. [Matlab] Ecrire un espace dans un fichier binaire
    Par invite24357dd0 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 12/08/2004, 16h41
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...