Codificación de caracteres TIdHTTP de la respuesta POST
Tomar la siguiente situación:
procedure Test;
var
Response : String;
begin
Response := IdHttp.Post(MyUrL, AStream);
DoSomethingWith(Response);
end;
Ahora el servidor web me devuelve datos en UTF-8. Supongamos que me devuelve un poco de UTF-8 XML que contiene el carácteré. Si utilizo la variable Respuesta, no contiene este carácter, pero es la variante UTF-8 (# C3 # A9), ¿así que Indy no descodificó?
Ahora sé cómo resolver este problema:
procedure Test;
var
Response : String;
begin
Response := UTF8ToString(IdHttp.Post(MyUrL, AStream));
DoSomethingWith(Response);
end;
Una advertencia con esta solución: Delphi muestra la advertencia W1058 (cadena de caracteres implícita con pérdida de datos potencial de 'cadena' a 'RawByteString')
Mi pregunta: ¿es esta la forma correcta de solucionar este problema o puedo dar instrucciones a TIdHTTP para que haga la conversión a UnicodeString?