Binaire non Binaire

cpetter Messages postés 38 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 4 octobre 2007 - 24 mai 2004 à 08:52
cpetter Messages postés 38 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 4 octobre 2007 - 3 juin 2004 à 15:34
Bonjour

Je suis en train de créer un bout de code pour écrire en binaire dans un fichier. Et à ma grande surprise, il n'écrit pas en binaire mais en texte claire dans le fichier.
Voilà mon code

FileStream Graveur = new FileStream(txt_connect.Text + ".lsn", FileMode.OpenOrCreate,FileAccess.Write,FileShare.Write,10000,true);
BinaryWriter Ecrire = new BinaryWriter(Graveur);
string Chaine;
Chaine = txt_hote.Text + "|" + txt_port.Text + "|" + txt_user.Text + "|" + txt_password.Text + "|" + txt_chemin.Text + "|";
Ecrire.Write(Chaine);
Ecrire.Close();
Graveur.Close();

Pouvez-vous éclaire ma lanterne ?

Merci d'avance

7 réponses

JijeDsLeNoir Messages postés 9 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 1 octobre 2007
26 mai 2004 à 01:36
Le contenu du fichier est lisible puisque l'on ecrit une chaine de caracteres selon l'encodage par defaut (UTF-8 soit 1 caractere = 1 octet).

La classe BinaryWriter permet d'ecrire une valeur dans un flux:
- Si la valeur est de type texte, du texte est ecrit suivant l'encodage defini.
- Si la valeur est de type int (nombre entier coder sur 32 bits soit 4 octets), c'est 4 octets qui sont ecrits.

Avec Visual Studio, il est possible d'afficher au format binaire n'importe quel fichier:
- Menu Fichier -> Ouvrir -> Fichier
- Selectionner le fichier et cliquer sur ouvrir avec (autre choix du bouton ouvrir)
- Choisir Editeur binaire

Oui c'est moi, là-bas dans le noir!
0
cpetter Messages postés 38 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 4 octobre 2007
26 mai 2004 à 07:13
Merci

Mais as-tu une idée pour écrire en binaire du texte ??
0
crack_xp Messages postés 91 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 25 janvier 2007
29 mai 2004 à 12:55
Salut, essaie tous simplement de convertir tes chaine en byte,
puis creer un fichier avec l'extention que tu veux.
et enfin ecrire tes bytes direcetement dans le fichier;
exp :

string texte=TextBox.text;
string path=@"c:\toto.xxx"//ton chemin pr creer ton fichier
byte[] conv=Encoding.ASCII.GetByte(texte);
TextWrite txt= new StrealWriter(path);
txt.Wrile(conv);

A bientot
NO TIME TO WASTE
0
crack_xp Messages postés 91 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 25 janvier 2007
29 mai 2004 à 12:56
n'oublie pas le

txt.Close();
:=)
NO TIME TO WASTE
0

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

Posez votre question
cpetter Messages postés 38 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 4 octobre 2007
31 mai 2004 à 23:15
Salut

j'ai donc essayé.
Je suis pas sur que cela fonctionne!!

car dans mon fichier il écrit

System.Byte[]

et rien d'autre

est-ce normal ??

Merci de ton aide

Cédric
0
crack_xp Messages postés 91 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 25 janvier 2007
1 juin 2004 à 12:50
wé, désolé, c'est tout a fait normale, car il te retourne le nom d'objet

essaie avec un

conv.GetValue(long [] index)

je te filerai le code si ça marche pas !!!
A bientot
NO TIME TO WASTE
0
cpetter Messages postés 38 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 4 octobre 2007
3 juin 2004 à 15:34
Salut

désolé mais ca ne marche pas mieux!!
si tu as un code, je veux bien

Merci de ton aide

Cédric
0
Rejoignez-nous