Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Question très basique

4 réponses
Avatar
Oriane
Bonjour,

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

Oriane

4 réponses

Avatar
Jean-Claude BELLAMY
"Oriane" a écrit dans le message de
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

Avatar
Jean-Claude BELLAMY
"Oriane" a écrit dans le message de
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

Avatar
Oriane
Bonjour,

"Jean-Claude BELLAMY" a écrit dans le
message de news:
"Oriane" a écrit dans le message de
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

Avatar
Oriane
Bonjour,

"Jean-Claude BELLAMY" a écrit dans le
message de news:
"Oriane" a écrit dans le message de
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