Hi.
...Auf ein BOM kann man sich ja nicht verlassen...
Wenn du dich nicht auf die BOM verlassen kannst, worauf dann?
Es ist eigentlich unmöglich
Unicode-Char(full 2Byte, eg. 2. Byte <> 0) mit diversenen !
Ansi!-Sequencen auseinander zu halten.
Ich habe mich damit auch herum ärgern müssen doch irgendetwas 100% sicheres -> NOPE.
Was sicher funzte sind Sachen wie StrLen() (wenn du ein #0 an den Stream angehängt hast), welches schon bei den ersten
Unicode-Chars eine andere Länge als Stream.Size zurück gibt(knallt aber bei RTF-formatierten Daten).
Dann wäre da noch sowas wie:
NotUnicode = (Stream.Size mod 2 <> 0) oder so.
Und zu guter letzt:
DetectUTF8Encoding in [etASCII,etUTF8] welches ziehmlich sicher wäre.
Alles andere ist das Befragen der Kristallkugel,
IMHO.