IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Convertir un fichier en binaire


Sujet :

Langage Java

  1. #1
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 255
    Points : 100
    Points
    100
    Par défaut Convertir un fichier en binaire
    Bonjour,

    je souhaiterais convertir n'importe quel type de fichier (txt, jpg, avi, exe ...) en fichier binaire ou plutot en fichier texte contenant un suite de 0 et 1.

    Suis-je obliger de lire chaque caractère du fichier d'entrée, de traduire chaque caractère en code ascii puis en binaire ? Ca risque d'être long ?

    La sérialisation binaire créer-t-elle de vrai fichiers binaires composés de 0 et de 1 ? sont-ils lisible par la suite ? Car je voudrais pouvoir ensuite, à partir de cette suite de 0 et 1, pouvoir reconstituer le fichier d'origine.

    Je pense stocker la suite de 0 et de 1 dans un fichier texte plutôt que dans une structure de données, ça sera surement plus performant, sachant que je peux lui passer des fichiers de plusieurs centaines de Mo.

    Merci pour votre aide.

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Peux-tu nous dire pourquoi tu cherches à faire cela ? Car franchement je n'en vois pas du tout l'intérêt :
    Fichiers binaires : moins volumineux mais illisibles
    Fichiers textes : volumineux mais lisibles
    Fichiers textes contenant des 0 et 1 : volumineux ET illisible
    En gros tu vas accumuler tous les inconvénients !!

    Je pense qu'effectivement la seule solution est de lire octet par octet, transformé la valeur numérique en binaire texte, sans oublier de rajouter les 0 manquants en début de chaine (de manière à bien avoir 8 bit affichés par octet) :
    lire un byte: exemple 11 en décimale. 11 -- convertion en string binaire --> "1011" -- complement 0 --> "00001011"

    La sérialisation se fait par défaut en binaire pur (illisible avec un éditeur de texte).

    Pour le stockage, vu la taille que ça va donner, effectivement le choix de stocker dans un fichier est plus que judicieux.

  3. #3
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 255
    Points : 100
    Points
    100
    Par défaut
    Merci pour ta réponse.

    En fait je veux faire cela pour crypter un fichier par la méthode d'un masque jetable. Et l'intérêt est qu'il soit illisible

    Donc une fois qu'il est en binaire, je fait mes traitement dessus et je regénère les caractères afin d'avoir le ficheir crypté.

    La sérialisation binaire produit un fichier contenant des 0 et des 1 ? si je tente de la lire via java je lierai quoi ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Il me semble que tu oublies un principe de base : tout fichier est un fichier binaire. Ce n'est que le format de fichier et le contenu, l'entête principalement, qui fait qu'il peut ou non être lu "en clair".

    Le cryptage ne consiste pas à convertir un A par exemple, code ASCII 65 donc 01000001, en une chaîne de caractères de 8 octets ayant une valeur de 0 ou 1 soit "01000001".
    Effectivement ce sera illisible, mais 8x plus gros comme le dit justement iohack. De plus, ça ne tiendrait pas au décryptage.

    Tu peux donc parfaitement appliquer la méthode du masque jetable sur le fichier de départ.

  5. #5
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 255
    Points : 100
    Points
    100
    Par défaut
    Mais une fois que j'ai générer mon masque (aussi grand que le fichier à crypter), il faut que je fasse des traitements comme un XOR bit à bit entre ce masque et les données à crypter (le fichier), il faut donc bien que mon fichier soit sous une forme 011010101010010101010101001001001........0101001 pour que je puisse faire des opérations binaires.

    Je peux lire le fichier directement sous forme de bits ?

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Citation Envoyé par Yann39 Voir le message
    Mais une fois que j'ai générer mon masque (aussi grand que le fichier à crypter)
    ha non
    enfin tu peux mais

    Citation Envoyé par Yann39 Voir le message
    Je peux lire le fichier directement sous forme de bits ?
    evidemment puisque tout fichier est en binaire

  7. #7
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 255
    Points : 100
    Points
    100
    Par défaut
    Citation:
    Envoyé par Yann39
    Mais une fois que j'ai générer mon masque (aussi grand que le fichier à crypter)

    ha non
    enfin tu peux mais
    Je n'ai pas le choix c'est la méthode du masque jetable, il faut un masque aussi grand que les données à crypter.

    Je n'ai pas mon PC de boulo sous la main, je test ça à partir de lundi.

    Si j'ai besoin d'aide je reviens vous voir.

    En tous cas merci pour vos réponses et votre réactivité

    EDIT : OK tout fonctionne, j'avais imaginer un truc bien plus compliqué Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Convertir un fichier en une chaine binaire base 64
    Par ddams dans le forum Vos Contributions VBScript
    Réponses: 1
    Dernier message: 02/09/2010, 19h01
  2. Convertir un fichier texte en fichier binaire
    Par guicecal dans le forum Bibliothèque standard
    Réponses: 5
    Dernier message: 04/09/2009, 12h16
  3. Réponses: 17
    Dernier message: 31/03/2009, 16h52
  4. Fonction pour convertir un fichier IDX en binaire ?
    Par Marie.B dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 17/12/2008, 15h08
  5. convertir un fichier binaire en ascii
    Par M_JOU79 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 12/06/2007, 00h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo