TIdHTTP-Zeichencodierung der POST-Antwort

Nehmen Sie folgende Situation:

procedure Test;

var
 Response : String;

begin
 Response := IdHttp.Post(MyUrL, AStream);
 DoSomethingWith(Response);
end;

Jetzt gibt der Webserver mir Daten in UTF-8 zurück. Angenommen, es gibt UTF-8-XML mit dem Zeichen zurücké. Wenn ich die Variable Response verwende, enthält sie kein Zeichen, sondern eine UTF-8-Variante (# C3 # A9). Hat Indy also keine Dekodierung durchgeführt?

Jetzt weiß ich, wie ich dieses Problem lösen kann:

procedure Test;

var
 Response : String;

begin
 Response := UTF8ToString(IdHttp.Post(MyUrL, AStream));
 DoSomethingWith(Response);
end;

Eine Einschränkung bei dieser Lösung: Delphi gibt die Warnung W1058 aus (Implizite Zeichenfolge mit potenziellem Datenverlust von 'string' zu 'RawByteString').

Meine Frage: Ist dies der richtige Weg, um mit diesem Problem umzugehen, oder kann ich TIdHTTP anweisen, die Konvertierung nach UnicodeString für mich durchzuführen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage