我有一个以这一行开头的 UTF-8 文本文件:
<HEAD><META name=GENERATOR content="MSHTML 10.00.9200.16521"><body>
当我TFile.ReadAllText
使用 TEncoding.UTF8 读取此文件时:
MyStr := TFile.ReadAllText(ThisFileNamePath, TEncoding.UTF8);
那么文本文件的前 3 个字符被省略,所以 MyStr 的结果是:
'AD><META name=GENERATOR content="MSHTML 10.00.9200.16521"><body>...'
但是,当我在TFile.ReadAllText
没有 TEncoding.UTF8 的情况下读取此文件时:
MyStr := TFile.ReadAllText(ThisFileNamePath);
然后文件被完全正确地读取:
<HEAD><META name=GENERATOR content="MSHTML 10.00.9200.16521"><body>...
TFile.ReadAllText
有错误吗?