Also hier funktioniert das tadellos mit den Bytes und UnicodeStrings und AnsiStrings. Du darfst nur nicht mit den UnicodeStrings das encode/decode machen. Dafür nimmst du dann die Bytes.
Delphi-Quellcode:
var
a: AnsiString;
b: TBytes;
s: String;
begin
a := #$33#$95#$34;
s := a;
{ Der Inhalt von s interessiert hier nicht. Zur Verarbeitung wandeln wir das in Bytes um. }
b := TEncoding.ANSI.GetBytes(s);
Assert(b[0] = $33);
Assert(b[1] = $95);
Assert(b[2] = $34);
a := s;
Assert(a = #$33#$95#$34);
end;
Ich habe jetzt gerade kein Beispiel mit
TInifile, aber mit
LoadFromFile(<filename>, TEncoding.Ansi)
sollte das ebenso funktionieren.