Enregistrer «Bush a caché les faits» dans le bloc-notes

54

Lorsque vous enregistrez le texte "Bush a caché les faits" dans le bloc-notes sous Windows XP, comment se fait-il que lorsque vous rouvrez, il affiche des carrés au lieu du texte?

Je l'ai vu dans cette vidéo si vous avez besoin d'un exemple

http://www.youtube.com/watch?v=9bK9-sc_uus&feature=related

John T
la source
28
En passant, c'est la même chose pour n'importe quelle séquence de lettres 4-3-3-5, pas seulement celle-ci.
Grawity
15
Exemple: "John a mangé le bacon"
Troggy

Réponses:

93

Cela est dû à un problème avec la fonction IsTextUnicode de l' API Win32 qui remonte à Windows NT 3.5. Si un fichier est codé en ANSI, la fonction l'interprétera comme UTF-16LE, ce qui entraînerait des caractères illisibles.

Cela me fascinait aussi lorsque je l'ai découvert, étant jeune et naïf. Je pensais que c'était un véritable complot :)

Vous pouvez trouver ici un article Wikipedia sur ce sujet .

John T
la source
17
Intéressant. +1 pour l'article de Wiki qui m'a appris le mot "mojibake" et son avertissement particulièrement méta que "sans support de rendu approprié, vous pouvez voir des points d'interrogation, des cases ou d'autres symboles ..." :-)
jtb
3
+1 parce que, malgré l'utilisation de Windows depuis aussi longtemps que je me souvienne, je ne suis jamais tombé sur ça!
Jared Harley le
7
Eh bien, c'est clairement un bogue, car le logiciel est incorrect. Le mieux que vous puissiez faire valoir, c'est qu'il est impossible d'éliminer de tels bogues sans perdre d'autres fonctionnalités. Et, diable, Microsoft a corrigé cela dans Vista [selon Wiki], alors quelqu'un y pensait évidemment que c'était aussi un bug.
John Fouhy
11
Ce n'est pas un bug s'il fait exactement ce qu'il annonce (c.-à-d. Documenté). Il est précisément spécifié qu'il s'agit d'un test statistique et non infaillible, et plus le nombre d'entrées est court, plus le taux d'erreur est élevé. Il se trouve que dans ce cas, cela se produit avec une phrase qui a du sens pour un être humain. Cette phrase particulière ne fonctionne pas avec Vista & 7, car la mise en œuvre de IsTextUnicode a été modifiée et vraisemblablement améliorée et le rapport est maintenant correctement généré pour cette phrase. Ce que nous avons est meilleur ou pire taux de faux positifs / négatifs, pas de bugs.
KTC
5
"Ce n'est pas un bug s'il fait ce qu'il est censé faire." Oui, peut-être que le terme technique est «défaut de conception» ou quelque chose du genre, mais je pense que la plupart des gens diront toujours qu'il est acceptable d'appeler cela un bug.
davr