Fichier et binaire

kangoo75 Messages postés 47 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 28 mai 2008 - 31 juil. 2005 à 23:27
kangoo75 Messages postés 47 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 28 mai 2008 - 1 août 2005 à 23:21
Bonjour ,

J'ai créé cette fonction :



function VisuBin($chemin_fichier){





$id_fichier = fopen($chemin_fichier, "rb");

$contenu = fread($id_fichier, filesize ($chemin_fichier));

echo $contenu;



}

VisuBin('exemple.jpg');



Mon problème est que ca saffiche n'ont pas des 0 et des 1 mais des caracteres qu'ont dirait crypter.

D'ou ma question comment peut ont afficher les 0 et les 1 dun fichier ?

MErci

6 réponses

cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008
1 août 2005 à 07:00
Mmm... lecture binaire d'un fichier ne signifie pas que tu vas avoir des 1 et des 0 à la sortie...

Pour voir les 1 et les 0, tu scans chaque caractères et tu les affiches en binaire

Comme ceci :

(N'oublie pas de fermer ton fichier fclose($fp))

Dans l'exmple suivant j'affiche la lettre à coté



<?php

$fp = fopen('screenshot.jpg', 'rb');

$data = fread($fp, filesize('screenshot.jpg'));



$c = strlen($data);

for($i=0;$i<$c;$i++){

printf('%s - %08b'."\n", $data{$i}, ord($data{$i}));

}

fclose($fp);

?>

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
0
mcjoedassin Messages postés 196 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 2 septembre 2005
1 août 2005 à 09:37
Yo ! petite explication ...

toutes tes données sur ton ordinateur sont sous formes de bits (valant zéro ou un), toutefois ...

on a l'habitude de regrouper ces bits par 8, ça fait des octets ...

Maintenant, pour pouvoir coder du texte simplement, on a définit le codage ASCII qui associe à un octet un charactère ASCII correspondant ...

par exemple le charactère 'a' est codé 61 (en héxadécimal) soit 01100001 en binaire ...

(on préfère l'écriture héxadécimale qui ne tient que sur 2 chiffres)...

Lorsque tu fais un echo, tu affiches la représentation de ta chaine de caractères (= une liste de charactères) en ASCII.

Tout est un problème de codage, et non pas de cryptage...
0
kangoo75 Messages postés 47 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 28 mai 2008
1 août 2005 à 10:52
Ah ! bah merci pour vos explications qui m'éclairent désormais !

Une autre question qui à peut être rien à voir, comment ca marche la compression d'un fichier texte ?

Merci encore.
0
mcjoedassin Messages postés 196 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 2 septembre 2005
1 août 2005 à 11:25
http://fr.wikipedia.org/wiki/Compression_de_donn%C3%A9es

devrais t'éclairer un peu plus,



d'autre part j'éspère que tu as compris que finalement, les fichiers
textes sont des fichiers binaires ... toutefois on peut penser à des
méthodes de compression spéciales pour les fichiers textes ... parce
que l'on connait des propriétés sur ces données qui ne sont pas
générales à tous les fichiers binaires ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MATHIS49 Messages postés 368 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 14 mai 2010 1
1 août 2005 à 23:01
Merci pour toutes vos explications ;) Je vais essayer de me faire un petit programme de compression ;)
0
kangoo75 Messages postés 47 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 28 mai 2008
1 août 2005 à 23:21
Bon courage mathis49, joedassin, quelles sont "les propriétés sur ces
données qui ne sont pas générales à tous les fichiers binaires" ?
0