Dann wurd das geändert. Bei mir schlägt TEncoding.UTF8 ohne Fehlermeldung fehl und tut einfach überhaupt nichts.
Auch UTF-16 kann nicht sicher erkannt werden. Das ist interessant, dass gerade Microsoft das behauptet, wo sie doch in Windows XP beim Erkennen von UTF-16 versagt haben. In einigen wenigen Fällen kann man sicher sagen, dass eine Datei
kein UTF-16 bzw. UCS-2 ist, aber man kann nie sagen,
dass eine Datei UTF-16 ist.
Man kann übrigens Dateien nicht in
Unicode speichern und laden, denn
Unicode ist keine Kodierung.
Windows und Delphi benutzen als Kodierung UTF-16LE, das kann man theoretisch direkt aus der Datei in WideStrings und wieder zurück schreiben. Auch UCS-2LE kann man ohne Veränderung in WideStrings laden, speichern geht aber nicht.
Für westliche Texte benötigen alle UTF-Kodierungen mehr Platz als
ANSI, aber dann ist es immerhin auf allen Systemen gleich. UTF-16 benötigt zudem bei westlichen Texten viel mehr Platz als UTF-8.
Ich kann nicht nachvollziehen, was für Daten du hast. Mach es einheitlich und am besten ohne
ANSI.