Как загрузить текстовый файл в кодировке UTF-8

<< Нажмите, чтобы показать Содержание >>

Как загрузить текстовый файл в кодировке UTF-8

Вариант 1

procedure LoadUTF8(rv: TCustomRichViewconst FileName: String

  StyleNo, ParaNo: Integer); 

var Stream: TFileStream; 

    s: TRVRawByteString

    ws: TRVUnicodeString

begin 

  // чтение UTF-8 в строку s

  Stream := TFileStream.Create(FileName, fmOpenRead); 

  SetLength(s, Stream.Size); 

  Stream.ReadBuffer(PRVAnsiChar(s)^, Stream.Size); 

  Stream.Free; 

  rv.Clear; 

  // конвертация из s (UTF-8) в ws (UTF-16)

  ws := UTF8Decode(s); 

  // добавление ws в документ

  rv.AddTextNLW(ws, StyleNo, ParaNo, ParaNo, False); 

end

Вызов:

LoadUTF8(RichViewEdit1, 'test.txt'00); 

RichViewEdit1.Format

Вариант 2

RichViewEdit1.Clear; 

RichViewEdit1.LoadText('test.txt', 0, 0, False, CP_UTF8);

RichViewEdit1.Format; 

См. также:

Юникод в TRichView.