Jupp, das #$FEFF ist das
Unicode-BOM.
Es wird in der jeweiligen Codepage gespeichert. (wenn sie es darstellen kann)
Am Einfachsten als Char/WideChar an den Anfang des Textes.
BOM geht z.B. beim UTF-16
-LE, UTF-16-BE und UTF-8. (ja, die 3 UTF8-Bytes sind jenes Char)
Delphi-Quellcode:
Zeile := UTF8Encode(#$FEFF + Content.Text);
Stream := TFileStream.Create(Filename, fmCreate);
try
//Stream.WriteBuffer(sUTF8BOMString[1], Length(sUTF8BOMString));
Stream.WriteBuffer(Zeile[1], Length(Zeile)); // natürlich würde @Zeile[1] knallen, wenn der String leer ist
finally
Stream.Free;
end;
Hach, wie schön doch ein
TFile.WriteAllText sein kann.