в DRKB нашел такое:
Загрузка в мемо уникодового файла:
[more]
procedure LoadUnicodeFile(const filename: string; strings: TStrings);
procedure SwapWideChars(p: PWideChar);
begin
while p^ <> #0000 do
begin
p^ := WideChar(Swap(Word(p^)));
Inc(p);
end;
end;
var
ms: TMemoryStream;
wc: WideChar;
pWc: PWideChar;
begin
ms := TMemoryStream.Create;
try
ms.LoadFromFile(filename);
ms.Seek(0, soFromend);
wc := #0000;
ms.Write(wc, sizeof(wc));
pWC := ms.Memory;
if pWc^ = #$FEFF then {normal byte order mark}
Inc(pWc)
else if pWc^ = #$FFFE then
begin {byte order is big-endian}
SwapWideChars(pWc);
Inc(pWc);
end
else
; {no byte order mark}
strings.Text := WideChartoString(pWc);
finally
ms.free;
end;
end;
Использовать
LoadUnicodeFile(filename, memo1.lines);
[/more]
Добавлено: еще:
StringToWideChar Преобразовывает строку формата ANSI в Unicode-строку.
WideCharLenToString Преобразовывает указанное количество символов Unicode-строки в ANSI строку.
WideCharLenToStrVar Преобразовывает заданное количество символов Unicode-строки в ANSI формат и копирует результат в указанную переменную.
WideCharToString Преобразовывает длинную строку Unicode в ANSI строку.
WideCharLenToStrVar Преобразовывает строку формата Unicode в ANSI-формат и копирует результирующую строку в указанную переменную.
Добавлено: и т.д... Скачай себе chm-ку с
www.drkb.ru и возьми поиск по слову unicode