用Delphi写一个UTF8编码格式的文本文件

时间:2023-03-09 01:53:30
用Delphi写一个UTF8编码格式的文本文件
...
var f: TextFile;
begin
AssignFile(f, 'test.txt');
Rewrite(f);
write(f, #$EF+#$BB+#$BF); // UTF-8 BOM。关键就是写入这个UTF-8的BOM, BOM 是 Bype Order Mark 的缩写。
writeln(f, UTF8Encode('中文'));
CloseFile(f);
...

在delphi中TextFile对象创建文件时默认是 ANSI 编码。 这样中文或者其他非英文字符显示的时候就会变成乱码。

以上是生成一个UTF8编码的文本文件的代码。

Byte Order 

Mark