用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



posted @ 2019-04-21 20:57  ldxsuanfa  阅读(601)  评论(0编辑  收藏  举报