Bush hid the facts
Bush hid the facts est un bug découvert en dans le Bloc-notes de Windows. Il s’agit d’un mojibake, c'est-à-dire que certains textes codés en ASCII sont incorrectement interprétés en UTF-16LE, affichant des caractères chinois.
L'un des textes affectés, Bush hid the facts (littéralement « Bush a caché les faits »), a donné son nom au bug et a mené à des théories du complot[1], notamment liées aux attentats du [2] (que certains conspirationnistes croient organisés par George W. Bush, président des États-Unis), ou aux allégations mensongères de Bush sur la présence d'armes de destruction massive en Irak pour justifier l'invasion du pays en [3].
Description
modifierQuand on écrit le texte précis Bush hid the facts (sans retour à la ligne) dans un fichier texte, qu’on l’enregistre avec le codage ASCII (ou son sur‐ensemble le codage CP1252, dit « ANSI », par défaut sur Windows) et qu’on l’ouvre à l’aide du logiciel « Bloc-notes » de Windows, les caractères chinois 畂桳栠摩琠敨映捡獴 apparaissent à la place du texte d’origine[1].
Bien que Bush hid the facts soit le texte le plus connu qui provoque l’erreur, celle‐ci peut être causée par une multitude de textes possédant des lettres latines et des espaces à ces mêmes positions, par exemple this app can break et aaaa aaa aaa aaaaa. Le texte a suffit même[1].
Origine
modifierLe bug est provoqué par la fonction IsTextUnicode qui permet de détecter le codage des caractères d'une chaîne de caractères. Elle remarque que les octets forment un codage valide en UTF-16LE (le suffixe LE signifie little endian), en l'occurrence pour des caractères chinois, et en déduit à tort que c’est le format d'encodage du texte[4]. La succession de caractères ainsi obtenue est cependant dénuée de sens en chinois.
| ASCII | Texte | B |
u |
s |
h |
|
h |
i |
d |
|
t |
h |
e |
|
f |
a |
c |
t |
s |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Code | 42 |
75 |
73 |
68 |
20 |
68 |
69 |
64 |
20 |
74 |
68 |
65 |
20 |
66 |
61 |
63 |
74 |
73 | |
| UTF-16LE | Code | U+7542 |
U+6873 |
U+6820 |
U+6469 |
U+7420 |
U+6568 |
U+6620 |
U+6361 |
U+7374 | |||||||||
| Texte | 畂 |
桳 |
栠 |
摩 |
琠 |
敨 |
映 |
捡 |
獴 | ||||||||||
Découverte
modifierLe bug existe depuis l'introduction de la fonction en question en , mais n'a pas été découvert avant [5].
Correctif
modifierWindows Vista SP1 et les nouvelles versions du Bloc-notes possèdent maintenant un correctif pour ce bogue.
On peut éviter le problème en enregistrant le texte en UTF-8 ou en UTF-16 plutôt qu’en « ANSI ».
Références
modifier- 1 2 3 (en) « Bush Hid The Facts - Notepad Conspiracy Claim », sur hoax-slayer.com, , mise à jour (version du sur archive.org).
- ↑ (en) Jan Brekke, « FunFact: The Mysterious “Bush Hid the Facts” in Windows XP », sur digitalbrekke.com, .
- ↑ (en) Nostalgia Nerd (en), « Bush Hid the Facts », sur nostalgianerd.com, et « Notepad Messed With Your Mind », sur YouTube, .
- ↑ (en) Raymond Chen, « Some files come up strange in Notepad », The Old New Thing, sur blogs.msdn.microsoft.com, Microsoft Developer Network, (version du sur archive.org).
- ↑ (en) David Cumps, « Notepad bug? Encoding issue? », sur weblogs.asp.net, (consulté le ).
Voir aussi
modifierArticle connexe
modifierLiens externes
modifier- (en) « IsTextUnicode function (winbase.h) », sur learn.microsoft.com.