Кодировка символов TIdHTTP ответа POST

Возьмите следующую ситуацию:

procedure Test;

var
 Response : String;

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

Теперь веб-сервер возвращает мне данные в UTF-8. Предположим, он возвращает мне какой-то UTF-8 XML, содержащий символé, Если я использую переменную Response, она не содержит этот символ, но это вариант UTF-8 (# C3 # A9), поэтому Indy не декодировал?

Теперь я знаю, как решить эту проблему:

procedure Test;

var
 Response : String;

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

Одно предупреждение с этим решением: Delphi выдает предупреждение W1058 (неявное приведение строки с потенциальной потерей данных из 'string' в 'RawByteString')

Мой вопрос: это правильный способ решения этой проблемы, или я могу дать TIdHTTP команду выполнить преобразование в UnicodeString для меня?

Ответы на вопрос(4)

Ваш ответ на вопрос