Здравствуйте,
Есть файл с текстом в формате юникод, его надо прочесть и преобразовать в win1251. При выполнении кода получается то же самое как и в файле если открыть его в Windows.
Заранее спасибо.
var
fst: TFileStream;
c: widechar;
c2: array [0..255] of char;
sw: array [0..255] of widechar;
s: string;
i: integer;
begin
if OpenDialog1.Execute and FileExists(OpenDialog1.FileName) then
try
fst:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
s:=''; i:=0;
while fst.Position<fst.Size do
begin
fst.Read(sw[i],1);
inc(i);
if (i>255) or (i>=fst.Size) then begin
WideCharToMultiByte(CP_ACP,
0,
sw,
-1,
c2,
256,
nil,
nil
);
i:=0;
s:=PCharToString( c2;
end;
end;
Memo1.Lines.Clear;
Memo1.Lines.Add(s);
fst.Free;
except
end;
end;