首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

最近总是莫名奇妙的有关问题。delphi读utf-8编码格式文件

2012-09-28 
最近总是莫名奇妙的问题。delphi读utf-8编码格式文件functionLoadUTF8File(AFileName: string): stringvar

最近总是莫名奇妙的问题。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;

用字符串流

热点排行