Question très basique

Le
Oriane
Bonjour,

comment un éditeur de texte (Word, Notepad..) sait-il qu'un fichier est
binaire (par exemple un exe) ?

Oriane
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Claude BELLAMY
Le #1258018
"Oriane" news:
Bonjour,

comment un éditeur de texte (Word, Notepad..) sait-il qu'un fichier est
binaire (par exemple un exe...) ?



Il ne le sait pas !
A la rigueur, par la présence de caractères dont le code est inférieur à 32
(0x20), encore que le code 0x00 est utilisé en UNICODE, et les codes 0x0A
(Ligne suivante), 0x0D (retour chariot), 0x09 (tabulation),.. se retrouvent
dans des fichiers texte.

On peut éventuellement identifier certains fichiers par des "signatures" ,
mais ce n'est pas fiable à 100%, vu que n'importe quel fichier binaire peut
comporter n'importe quels codes !

P.ex. un EXE (DOS ou Windows, 16 ou 32 bits) commence par toujours par "MZ",
qui sont les initiales de "Mark Zbikowski" développeur chez Microsoft et un
des concepteurs de DOS.
Ensuite, si la valeur de l'octet situé à l'offset 0x0018 est supérieure à
0x40, le mot situé à l'offset 0x003C contient l'offset de l'entête Windows
("Windows header"), qui sera 0x4E45 ("NE" =New Executable, signature module
16 bits) ou 0x5045 ("PE" = Portable Executable, signature module 32 bits)

Un bitmap au format BMP commence toujours par la séquence 0x424D ("BM")

Un PDF commence par 0x25504446 ("%PDF")


Quel est ton problème réel?


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org

Jean-Claude BELLAMY
Le #1637536
"Oriane" news:
Bonjour,

comment un éditeur de texte (Word, Notepad..) sait-il qu'un fichier est
binaire (par exemple un exe...) ?



Il ne le sait pas !
A la rigueur, par la présence de caractères dont le code est inférieur à 32
(0x20), encore que le code 0x00 est utilisé en UNICODE, et les codes 0x0A
(Ligne suivante), 0x0D (retour chariot), 0x09 (tabulation),.. se retrouvent
dans des fichiers texte.

On peut éventuellement identifier certains fichiers par des "signatures" ,
mais ce n'est pas fiable à 100%, vu que n'importe quel fichier binaire peut
comporter n'importe quels codes !

P.ex. un EXE (DOS ou Windows, 16 ou 32 bits) commence par toujours par "MZ",
qui sont les initiales de "Mark Zbikowski" développeur chez Microsoft et un
des concepteurs de DOS.
Ensuite, si la valeur de l'octet situé à l'offset 0x0018 est supérieure à
0x40, le mot situé à l'offset 0x003C contient l'offset de l'entête Windows
("Windows header"), qui sera 0x4E45 ("NE" =New Executable, signature module
16 bits) ou 0x5045 ("PE" = Portable Executable, signature module 32 bits)

Un bitmap au format BMP commence toujours par la séquence 0x424D ("BM")

Un PDF commence par 0x25504446 ("%PDF")


Quel est ton problème réel?


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org

Oriane
Le #1258014
Bonjour,

"Jean-Claude BELLAMY" message de news:
"Oriane" news:

On peut éventuellement identifier certains fichiers par des "signatures" ,
Quel est ton problème réel?
Ce n'est pas réellement un pb mais j'aime chercher à comprendre. J'ai

effectivement un pb sous-jacent: comprendre ce qui diférencie l'encodage
binaire et textuel en SOAP. Et de là je me suis demandé pq par ex, Visual
Studio détecte qu'un fichier est "non ASCII" et le présente sous forme
hexadécimale. Tout comme Textpad. Quand tu dis que l'éditeur de texte ne
sait pas j'ai un doute car TextPad/Visual Studio le sait lui...ne serait-ce
que comme tu dis par l'absence de caractère retour chariot ou tabulation...

Oriane

Oriane
Le #1637535
Bonjour,

"Jean-Claude BELLAMY" message de news:
"Oriane" news:

On peut éventuellement identifier certains fichiers par des "signatures" ,
Quel est ton problème réel?
Ce n'est pas réellement un pb mais j'aime chercher à comprendre. J'ai

effectivement un pb sous-jacent: comprendre ce qui diférencie l'encodage
binaire et textuel en SOAP. Et de là je me suis demandé pq par ex, Visual
Studio détecte qu'un fichier est "non ASCII" et le présente sous forme
hexadécimale. Tout comme Textpad. Quand tu dis que l'éditeur de texte ne
sait pas j'ai un doute car TextPad/Visual Studio le sait lui...ne serait-ce
que comme tu dis par l'absence de caractère retour chariot ou tabulation...

Oriane

Publicité
Poster une réponse
Anonyme