Aller au contenu

récupérer la codage binaire de fichiers


K-LiBRE

Messages recommandés

Salut,

En Java on peut assez facilement lire un fichier de manière binaire et en afficher la représentation :

public class Binarize {

public static void main(String[] args) throws IOException {
	String octet = "00000000";
	InputStream is = new FileInputStream(args[0]);
	int oneByte = 0;
	while ((oneByte = is.read()) != -1) {
		String binaryString = Integer.toBinaryString(oneByte);
		System.out.print(octet.substring(binaryString.length()) + binaryString);
	}
}

}

J'ai programmé ça assez vite, ce n'est ni propre ni optimisé, mais ça fait le boulot demandé. Il suffit de lui passer en paramètre le fichier à afficher en binaire.

Lien vers le commentaire
Partager sur d’autres sites

J'ai essayé d'utiliser ton code, (oui j'avais rien d'autres à faire), mais j'ai eu quelques problèmes.

package test;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class Binarize {



public static void main(String[] args) throws IOException {
	String octet = "00000000";
	InputStream is = new FileInputStream("fic1");
	int oneByte = 0;
	System.out.print(is + "\n");
	while ((oneByte = is.read()) != -1) {
		if (is.read() == -1)
			System.out.print("");
		String binaryString = Integer.toBinaryString(oneByte);
		System.out.print(octet.substring(binaryString.length()) + binaryString);
	}
}
}

Le programme ne m'affiche que des blancs " " à la fin de l'exécution.

Au débogueur on voit bien les 0 et 1 apparaître puis disparaître à l'arrêt du programme.

Avec ce code ci (y'a une pauvre modification inutile) j'ai bien le détail binaire du fichier (et encore ça dépend du fichier), même quand l'exécution est terminé.

Eclipse qui me joue des tours ?

fic1 est dans le dossier du projet, si c'est un pauvre fichier texte ça fonctionne bien ^^.

Lien vers le commentaire
Partager sur d’autres sites

@Tiduster:

Non ta moddification n'est pas anodine, tu vas rater un octet sur 2 à cause de ton if

Je pense que si tu ne vois aucune sortie c'est peut être que tu fait tourner le programme sous eclipse, si une ligne est trop longue il arrive qu'elle disparaisse.

Essaye soit de lancer le programme directement depuis la ligne de commande ou limite la largeur de la console d'eclipse.

@K-LiBRE:

Ta requete est assez singuliere c'est pour ça que tu n'as pas de reponse qui *te* convienne je pense.

tsubasaleguedin t'a proposé un editeur hexadecimal car c'est en effet la visualisation que l'on utilise quand on veut voir un fichier brute, en "binaire". La notation hexadecimale est beaucoup plus concise que la notation bianire est facilite la conversion mentale vers une valeur bianire ou decimale car chaque signe represente 4 bits.

Tu peux aussi utiliser WinVi qui possede un mode hexa

Lien vers le commentaire
Partager sur d’autres sites

@Tiduster:

Non ta moddification n'est pas anodine, tu vas rater un octet sur 2 à cause de ton if

Je pense que si tu ne vois aucune sortie c'est peut être que tu fait tourner le programme sous eclipse, si une ligne est trop longue il arrive qu'elle disparaisse.

Essaye soit de lancer le programme directement depuis la ligne de commande ou limite la largeur de la console d'eclipse.

@K-LiBRE:

Ta requete est assez singuliere c'est pour ça que tu n'as pas de reponse qui *te* convienne je pense.

tsubasaleguedin t'a proposé un editeur hexadecimal car c'est en effet la visualisation que l'on utilise quand on veut voir un fichier brute, en "binaire". La notation hexadecimale est beaucoup plus concise que la notation bianire est facilite la conversion mentale vers une valeur bianire ou decimale car chaque signe represente 4 bits.

Tu peux aussi utiliser WinVi qui possede un mode hexa

http://fr.wikipedia.org/wiki/Syst%C3%A8me_hexad%C3%A9cimal

;)

Lien vers le commentaire
Partager sur d’autres sites

euh... oué

En fait j'aimerais bien qu'on m'explique comment sa marche un petit peu les fichiers, leur binaire en programmation, si on peu les récupérer dans une variable ou autre et si on peu les lires facilement avec une commande ou un logiciel simple !

merci pour ta réponse ^^

Lien vers le commentaire
Partager sur d’autres sites

euh... oué

En fait j'aimerais bien qu'on m'explique comment sa marche un petit peu les fichiers, leur binaire en programmation, si on peu les récupérer dans une variable ou autre et si on peu les lires facilement avec une commande ou un logiciel simple !

merci pour ta réponse ^^

Ta loupé trop de cours, c'est bien ce que je dis ..

Lien vers le commentaire
Partager sur d’autres sites

euh... oué

En fait j'aimerais bien qu'on m'explique comment sa marche un petit peu les fichiers, leur binaire en programmation, si on peu les récupérer dans une variable ou autre et si on peu les lires facilement avec une commande ou un logiciel simple !

merci pour ta réponse ^^

Salut K-Libre, :francais:

On peut récupérer une valeur binaire dans un fichier. Il suffit de savoir quelle valeur tu souhaites exploiter. De plus, tu peux la visualiser sous différentes formes. La forme HEXA est la plus pratique.

:craint:

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...