Das liegt an einem Problem mit der Win32-API-Funktion IsTextUnicode, die auf Windows NT 3.5 zurückgeht. Wenn eine Datei in ANSI codiert ist, wird sie von der Funktion als UTF-16LE interpretiert, was zu unlesbaren Zeichen führt.
Das hat mich auch fasziniert, als ich es entdeckte, seit 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 können .