TFilestream を使用してファイルの内容を取得しようとしています。
procedure ShowFileCont(myfile : string);
var
tr : string;
fs : TFileStream;
Begin
Fs := TFileStream.Create(myfile, fmOpenRead or fmShareDenyNone);
SetLength(tr, Fs.Size);
Fs.Read(tr[1], Fs.Size);
Showmessage(tr);
Fs.Free;
end;
コンテンツのみの小さなテキスト ファイルを作成します。
- このファイルを (AkelPad を使用して) 1251 (ansi) codepege で保存します。
- 65001 (UTF8) コードページで保存します。
これらのファイルのサイズは異なりますが、内容は同じです-両方をメモ帳で開いたところ、両方とも同じ内容です
しかし、ShowFileCont proc を実行すると、異なる結果が表示されます。
- aaaaaaaJ?ЊT?8?V?"?A?aaaaaaa
- aaaaaaaJ“њРЉTщЂ®8ЈЏVд”Ј¦AИaaaaaaa
質問:
- TFilestream を使用して実際のファイルの内容を取得する方法は?
- これら 2 つのファイルのサイズは異なりますが、内容 (メモ帳) は同じであることをどのように説明できますか?
追加: 申し訳ありませんが、Lazarus FPC と string = utf8string を使用しているとは言いませんでした