读书人

最近总是莫名奇妙的有关问题。delphi读

发布时间: 2012-09-28 00:03:35 作者: rapoo

最近总是莫名奇妙的问题。delphi读utf-8编码格式文件
function LoadUTF8File(AFileName: string): string;
var
ffileStream:TFileStream;
fAnsiBytes: string;
S: string;
begin
ffileStream:=TFileStream.Create(AFileName,fmOpenRead);
SetLength(S,ffileStream.Size);
ffileStream.Read(S[1],Length(S));
fAnsiBytes:= UTF8Decode(Copy(S,4,MaxInt));
Result:= fAnsiBytes;
end;

这段代码用delphi7读utf-8编码的文件。大部分能读出来。但还是有?,其实?是有字符的。字符上下都有^这种东东。
为什么啊?

[解决办法]
我现在只用D2010

function LoadUTF8File(AFileName: string): String;
var
begin
SS := TStringStream.Create('', TEncoding.UTF8);
SS.LoadFromFile(AFileName);
Result := SS.DataString;
end;

用字符串流

读书人网 >.NET

热点推荐