Im Europäischen und ähnlichen Sprachräumen kann man, durch 'ne sehr einfache Musteranalyse, derartige Formate auch ohne BOM relativ zuverlässig erkennen.
Sobald aber z.B.
Unicode und oder asiatische Sprachräume ins Spiel kommen können, dann kann man es eigentlich vergessen und man ist auf ein BOM oder externe Informationen angewiesen.
Wie gesagt, wenn du jetzt nur von Multibyte-Codepages ausgehst, dann kommst du um eine Sprachanalyse nicht drumrum, da ein Byte nunmal ein Byte bleibt, egal was für ein Buchstabe sich darin versteckt.
Ob nun ein Byte, mit dem Wert $A9 z.B. ein deutsches Ä darstellt oder ein Russisches Irgendwas, das bkommst du aus diesem Byte niemals raus.
Sowas geht eben nur über eine Verbindung der umliegenden Bytes, z.B. indem man signifikante Muster der zu erkennenden Sprachen (codiert in mehreren Codepages) sucht.
Wenn man UTF-7 ignoriert, dann ist diesbezüglich
ASCII das Einzige Format, welches man relativ sicher erkennen kann.
Wie gesagt, es gab in den letzten Jahren schonmal soein Thema und dieses wurde dann nach vielen Diskusionen unter dem Ergebnis "teilweise nicht zuverlässig genug und im Rest nicht lösbar" aufgegeben.
(wobei die Sprachanalyse damals auch, Aufgrund von "zu aufwändig" ignoriert wurde)
PS: Du kannst dein Vorhaben hiermit vergleichen:
http://www.delphipraxis.net/internal...t.php?t=177809
Nur daß du als Lösung das Passwort&Algorithmus (Codepage) suchst, womit dieser Text verschlüsselt (gespeichert) wurde.