На Windows тип AnsiString присутствует, на Android отсутствует.
Имеется код (функция):
function TForm1.GetConvertedText(s: string): string;
var
m:TMemoryStream;
{$IFDEF MSWINDOWS}ss:AnsiString;{$ENDIF MSWINDOWS}
{$IFDEF ANDROID} ss:String;{$ENDIF ANDROID}
b:byte;
begin
m:=TMemoryStream.Create;
m.LoadFromFile(s);
m.Seek(0,soFromBeginning);
SetLength(ss,5);
m.Read(ss[1],5);
if ss=SIGN then
begin
ss:='';
m.Read(b,1);
SetLength(ss,;
m.Read(ss[1],;
end;
Result:=ss;
m.free;
end;
На Windows результат отображается нормально, потому что ss:=AnsiString;
А вот на Android'e нету значения AnsiString, поэтому для теста я просто присвоил String; Отсюда пошли кракозябры, как можно получить результат в нормальной читаемой кодировке?
Почитав немного, наткнулся на TEncoding, но не разобрался.
Вопрос
Satellite
На Windows тип AnsiString присутствует, на Android отсутствует.
Имеется код (функция):
На Windows результат отображается нормально, потому что ss:=AnsiString;
А вот на Android'e нету значения AnsiString, поэтому для теста я просто присвоил String; Отсюда пошли кракозябры, как можно получить результат в нормальной читаемой кодировке?
Почитав немного, наткнулся на TEncoding, но не разобрался.
Ссылка на комментарий
5 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.