русские буквы?
{
function Convert_(AUtf8: Utf8String): AnsiString;
begin
result := AUtf8;
end;
}
function Convert_(AUtf8: Utf8String): AnsiString;
var
i,l: integer;
begin
l := Length(AUtf8);
SetLength(result,l);
for I := 1 to l do
result[i] := AUtf8[i];
end;
только в лазаре надо было бы Utf8Length() использовать
У меня вот наоборот, закоментированный вариант выдает русские буквы, а посимвольный - вопросы.
Вот это приехали ((
В токио все наоборот в первом варианты норм выводится, во втором варианте кракозябры https://joxi.ru/Q2K1G4HX9Da1rj
Хотя в 12 также. При этом в первом варианте происходить конвертация из UTF8String->string->ansistring - судя по ворнингам.
Консоль свое может накладывать, у нее есть кодовая страница. Надо ShowMessage пробовать. Я в основном в дебагере переменную смотрела
дебагер может свои особенности давать. надежнее showmessage или запись строки в файл побайтно
При этом в дебагере такой трюк происходит
Неужели от версии Delphi зависит. Можешь свой текст скинуть, чтоб не набирать? А посмотрю, как у меня будет
Вот https://pastebin.com/0tjstt1f Глянь под отладчиком
У меня в токио и D12 одинаковое поведение
В первом случае происходит конвертация UTF8String->string->ansistring Во втором случае при присвоении result[i] := AUtf8[i] - это через создание новой строки? И там херня получается.
Обсуждают сегодня