Текущий архив: 2006.07.30;
Скачать: CL | DM;
Вниз
Как прочитать из файла строку UNICODE с последующим переводом... Найти похожие ветки
← →
AlexanderMS © (2006-07-06 18:25) [0]Помогите, пожалуйста, как прочитать из файла строку UNICODE с помощью TFileStream с последующим переводом её в строку типа string?
← →
Jeer © (2006-07-06 19:00) [1]делим задачу на составляющие и выясняем, в чем же сложность
← →
Apollon_604 (2006-07-06 19:05) [2]
UnicodeToUtf8
← →
Ketmar © (2006-07-06 20:31) [3]зачем в утф? просто присвоить, да и всё.
← →
Apollon_604 (2006-07-06 20:58) [4]Прросто столкнулся с проблемой при сериализации, что D7 сохраняет нелатинские символы в виде юникодовских кодов (типа #1013) и TStream возвращает их также, т.е. не конвертируя обратно... Так вот, если исходная строка содержит такие символы, то их нужно преобразовывать.
← →
AlexanderMS © (2006-07-07 18:43) [5]
> делим задачу на составляющие и выясняем, в чем же сложность
Уже поделили. А сложность - в отсутствии знаний и умений. Пробовал так:var
F : TFileStream;
W : PWideChar;
L : integer;
Value : string;
.......
begin
.......
F.Read(L, SizeOf(L)); // длина строки (количество полученных символов)
F. Read(W, L * 2); //умножаем на 2, так как указано в 2 раза меньше
Value := WideCharToString(W); // на этом и ошибка
...
Пробовал и просто WideString читать, а потом в PWideChar переводить.
-------------
Как мне это сделать?
← →
Apollon_604 (2006-07-07 18:56) [6]
var
FileStream: TFileStream;
StrStream: TStringStream;
s: string;
begin
FileStream := TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite);
StrStream := TStringStream.Create("");
FileStream.Position := 0;
StrStream.CopyFrom(FileStream, FileStream.Size);
s := StrStream.DataString;
FileStream.Free;
StrStream.Free;
end;
Страницы: 1 вся ветка
Текущий архив: 2006.07.30;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.029 c