1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
const
UTF8ByteOrderMark = = #$EF#$BB#$BF; // BOM Signature UTF8
var
nCount: Integer;
TXTString: String;
TXTBytes: Array[0..999999] of Byte;
TXTRawByteString: RawByteString;
begin
{TXTString contient le texte en unicode (Document avec des polices en différentes langues : Russe, Chinois, Japonais et Français}
TXTStream := TFileStream.Create('c:\tmp\TxtFile.txt', fmCreate );
// On convertit l'unicode en UTF8
TXTRawByteString := UTF8Encode(TXTString);
ncount := length(TXTRawByteString );
Move(TXTRawByteString[1], TXTBytes[0], ncount);
TXTStream .Write(UTF8ByteOrderMark,3);
TXTStream .WriteBuffer(TXTBytes, ncount);
ZDocStream.Free; |
Partager