Ecrire dans un fichier en binaire

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Ecrire dans un fichier en binaire

Message par microdevweb »

Bonjour,

Voila ma question, je dois écrire dans un fichier des informations de type texte, entier ect. Si il est vrai que la solution la plus simple est d'écrie de façon classique. Les informations pourrons être lue par tous le monde, je trouve plus professionnel que le fichier contienne plutôt des caractère de ce type E@€Q@ €E@0O.

Quel est la meilleur méthode pour écrire mes infos de cette manière.

Merci de vos réponses.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Ecrire dans un fichier en binaire

Message par G-Rom »

Tout dépends des données à écrire, écrire en binaire ne veut rien dire, même écrire de façon "classique" écrit en binaire dans ton fichier.
ecrire bit par bit directement dans un fichier n'est pas possible.
il faut passer par des allocations de mémoire , écrire dedans , puis copié cette allocation de mémoire dans le fichier , de l'ascii restera de l'ascii...
ex:

Code : Tout sélectionner


*myData = AllocateMemory( 4 * 32 )


PokeC(*myData + 0 , Asc("B")) ; <--- lisible
PokeC(*myData + 1 , Asc("o")) ; <--- lisible
PokeC(*myData + 2 , Asc("n")) ; <--- lisible
PokeC(*myData + 3 , Asc("j")) ; <--- lisible
PokeC(*myData + 4 , Asc("o")) ; <--- lisible
PokeC(*myData + 5 , Asc("u")) ; <--- lisible
PokeC(*myData + 6 , Asc("r")) ; <--- lisible
PokeC(*myData + 7 , Asc(".")) ; <--- lisible

PokeI(*myData + 8  , 65535)  ; <--- ilisible
PokeI(*myData + 12 , 247)    ; <--- ilisible
PokeI(*myData + 16 , 829)    ; <--- ilisible
PokeI(*myData + 20 , 212)    ; <--- ilisible



CreateFile(0,"C:\out.txt")

WriteData(0,*myData,MemorySize(*myData))
CloseFile(0)
End 
Avatar de l’utilisateur
Atlante
Messages : 337
Inscription : mer. 29/juin/2011 18:35
Localisation : Paris

Re: Ecrire dans un fichier en binaire

Message par Atlante »

Au pire tu cryptes ton texte avec un mot de passe cf tutos cryptage avec XOR (tuto pas fini mais code compréhensible) :
http://www.purebasic.fr/french/viewtopi ... 21&t=10780
Modérateur
Config : Intel I5 4670K, Nvidia Geforce GTX 1060, 16go RAM, SSD 256go, DD 2000go
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Ecrire dans un fichier en binaire

Message par microdevweb »

Merci pour ces infos, si je comprend bien toutes valeur entre 0 et 255 sera convertie par l'éditeur de texte et toutes autres valeur ne sera pas lue. Ben voila je met la valeur ASCII en négatif et la reconverti avec ABS. Seul petit soucis 2 octets au lieu d'un mais enfin.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Répondre