OVH Cloud OVH Cloud

Interprétation de fichier dans Bloc-note

7 réponses
Avatar
JP
Lorsque je tente d'ouvrir le fichier contenant l'information ci-bas dans
bloc-note, le contenu semble apparaître en binaire... Losqu'on ajoute un
caractère, il l'ouvre correctement, on en ajoute un 2e et il retombe en
binaire... l'interprétation du contenu par Windows est basé sur quoi ? Est-ce
possible d'éviter ce problème sans changer le contenu du fichier ?

P.S. Le fichier est toujours correctement lisible avec Wordpad.

Voici le contenu du fichier :
00000000000000.000 0000000000000000.00 000000000000000.000
0000000000000000.00 00000

7 réponses

Avatar
O.B. [MVP]
Bonjour,

dans ce newsgroup :JP a tapoté sur son clavier :
il retombe en binaire... l'interprétation du contenu par Windows est
basé sur quoi ?
en général par son extension ...c'est définis dans les options de dossier de

l'explorateur onglet "type de fichier" en assignant l'extension de votre
fichier au bloc-note ou en lui mettant l'extention txt ça pourrait régler
votre problème

--
Olivier B.
[MVP Windows Shell/User]
"le savoir est fait pour être partagé"

merci de ne repondre que dans le newsgroup
sinon retirer le "pas_de_spam_" devant mon adresse
(adresse rarement relevée)

Avatar
JP
Le fichier problématique a déjà une extension .TXT
Faites le test, créez un fichier avec le contenu mentionné précédement et
ré-ouvrez-le dans bloc-note (notepad) vous verrez alors le contenu comme ce
qui ressemble à du binaire (illisible). Merci.
Avatar
Fred
Dans : news:,
JP disait :
Le fichier problématique a déjà une extension .TXT
Faites le test, créez un fichier avec le contenu mentionné
précédement et ré-ouvrez-le dans bloc-note (notepad) vous verrez
alors le contenu comme ce qui ressemble à du binaire (illisible).
Merci.


C'est très curieux en effet :-)

Serait-ce une blague des programmeurs MS ?

Plus sérieusement, il semble que bloc-note ajoute le préfixe des
fichiers Unicode lorsqu'on enregistre cette séquence de caractères.
Quand on l'ouvre à nouveau, chaque paire d'octets est vue comme un seul
caractère. Ce qui provoque ces petites vagues et têtes de matelot.

Alors blague ou bug ? Amusant toujours.

PS : pour tester, pensez à retirer le retour à la ligne.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
Fred
Dans : news:,
Fred disait :

Plus sérieusement, il semble que bloc-note ajoute le préfixe des
fichiers Unicode lorsqu'on enregistre cette séquence de caractères.


Rectification. Le préfixe n'est pas nécessairement ajouté. Et le
résultat est le même.

Quand on l'ouvre à nouveau, chaque paire d'octets est vue comme un
seul caractère. Ce qui provoque ces petites vagues et têtes de
matelot.


Ça, c'est toujours vrai. Il s'agit d'une mauvaise interprétation du
contenu.
Je dirais que notepad, lorsqu'il n'a pas d'indication précise (préfixes)
permettant de déterminer le jeu de caractères du fichier, utilise une
méthode pour «deviner» ce dernier. Et cette méthode plante dans ce cas
précis.

Je n'ai pas trouvé comment on procède chez Microsoft pour déterminer un
encodage de texte mais une petite recherche Google avec «text encoding
autodetection» renvoie quelques pages intéressantes.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
Jean-Claude BELLAMY
Dans le message :,
JP a pris la peine d'écrire ce qui suit :
Lorsque je tente d'ouvrir le fichier contenant l'information ci-bas
dans bloc-note, le contenu semble apparaître en binaire... Losqu'on
ajoute un caractère, il l'ouvre correctement, on en ajoute un 2e et
il retombe en binaire... l'interprétation du contenu par Windows est
basé sur quoi ? Est-ce possible d'éviter ce problème sans changer le
contenu du fichier ?

P.S. Le fichier est toujours correctement lisible avec Wordpad.

Voici le contenu du fichier :
00000000000000.000 0000000000000000.00 000000000000000.000
0000000000000000.00 00000


Cela est du au fait que Notepad ouvre par défaut le fichier en UNICODE
(il y a une combo box en bas de la boite de dialogue d'ouverture de fichier)
Ce fichier contient un nombre PAIR d'octets, ce qui est cohérent (a priori)
avec une structure UNICODE.

Si on change cette combo box en faisant apparaitre "ANSI", le fichier est
correctement affiché.

De même, si on ajoute un nombre IMPAIR de caractères, la taille du fichier
est donc IMPAIRE, et ce ne peut donc pas être un fichier écrit en UNICODE.

CQFD !


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

Avatar
Fred
Jean-Claude BELLAMY wrote:

Bonjour,

Cela est du au fait que Notepad ouvre par défaut le fichier en UNICODE


Oui, mais la question est comment notepad choisit le mode d'ouverture
par défaut ?
Il y a un petit examen du contenu avant de décider.
Un retour à la ligne semble lever l'ambiguïté par exemple.
Pourquoi cette séquence d'octets, qui ne contient d'ailleurs aucun octet
nul comme c'est souvent le cas en Unicode, est-elle reconnue comme une
séquence Unicode ?

(il y a une combo box en bas de la boite de dialogue d'ouverture de
fichier) Ce fichier contient un nombre PAIR d'octets, ce qui est
cohérent (a priori) avec une structure UNICODE.


Oui.

Si on change cette combo box en faisant apparaitre "ANSI", le fichier
est correctement affiché.


Exact. Mais c'est pour ma part la première fois que j'observe une
confusion en faisant un double-clic directement sur le fichier.

De même, si on ajoute un nombre IMPAIR de caractères, la taille du
fichier est donc IMPAIRE, et ce ne peut donc pas être un fichier
écrit en UNICODE.


Oui, pas de doute dans ce cas.

CQFD !


Pas encore tout à fait à mon avis ;-)
N'as-tu pas quelques infos à propos de ces algorithmes d'autodétection
d'encodage qui pourraient être utilisé par notepad (et je suppose par
d'autres logiciels sous Windows, IE par exemple (?))

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
JP
Merci pour les "reply", les hypothèses sont très pertinentes.

Voyez-vous, ce problème d'interprétation se généralise dans plusieurs des
applications exécutées sous Windows. Par exemple WS_FTP lors du transfert
FTP, celui-ci interprète le fichier en mode binaire par défaut, je dois
spécifier le mode texte pour que ça fonctionne.

Donc, la question est de savoir s'il y a un moyen d'éviter cette mauvaise
interprétation sans modifier le contenu...

Merci encore.