Speichern "Bush versteckte die Fakten" im Editor

54

Wie kommt es, dass beim Speichern des Textes "Bush hat die Fakten versteckt" im Editor unter Windows XP beim erneuten Öffnen Quadrate anstelle des Textes angezeigt werden?

Ich habe es in diesem Video gesehen, wenn Sie ein Beispiel brauchen

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

John T
quelle
28
Übrigens ist es für jede Folge von 4-3-3-5 Buchstaben gleich, nicht nur für diesen.
Grawity
15
Beispiel: "John aß den Speck"
Troggy

Antworten:

93

Dies ist auf ein Problem mit der Win32-API-Funktion IsTextUnicode zurückzuführen, das auf Windows NT 3.5 zurückgeht. Wenn eine Datei in ANSI codiert ist, interpretiert die Funktion sie als UTF-16LE, was zu nicht lesbaren Zeichen führt.

Das hat mich auch damals fasziniert, als ich es entdeckte, da ich jung und naiv war. Ich dachte, es wäre eine echte Verschwörung :)

Es gibt tatsächlich einen Wikipedia-Artikel dazu, den Sie hier finden .

John T
quelle
17
Interessant. +1 für den Wiki - Artikel, der mir das Wort „Mojibake“ und seine besonders meta Warnung gelehrt , dass „ohne entsprechende Rendering Unterstützung, können Sie Fragezeichen, Kästen oder andere Symbole ... siehe“ :-)
jtb
3
+1, weil ich, obwohl ich Windows so lange ich mich erinnern kann, nie darauf gestoßen bin !
Jared Harley
7
Nun, es ist eindeutig ein Fehler, weil die Software falsch ist. Das Beste, was Sie argumentieren können, ist, dass Fehler wie diese unmöglich zu beseitigen sind, ohne andere Funktionen zu verlieren. Und zum Teufel, Microsoft hat es in Vista [laut Wiki] behoben, also dachte jemand dort offensichtlich, dass es auch ein Fehler war.
John Fouhy
11
Es ist kein Fehler, wenn es genau das tut, wofür es wirbt (dh dokumentiert). Es ist genau festgelegt, dass es sich um einen statistischen Test handelt, der nicht narrensicher ist. Je kürzer die Eingabe, desto höher die Fehlerrate. Es passiert einfach so, dass es in diesem Fall mit einem Satz geschieht, der für den Menschen Sinn ergibt. Dieser spezielle Satz funktioniert unter Vista & 7 nicht, da die Implementierung von IsTextUnicode geändert und vermutlich verbessert wurde und jetzt korrekt für diesen Satz berichtet wird. Was wir haben, ist eine bessere oder schlechtere falsch positive / negative Rate, keine Bugs.
KTC
5
"Es ist kein Fehler, wenn es tut, was es soll." Ja, vielleicht ist der Fachbegriff "Designfehler" oder so, aber ich denke, die meisten Leute würden immer noch sagen, dass es in Ordnung ist, es einen Bug zu nennen.
Davr