delphi打開unicode文件的問題
經實際輸入截圖中的數據,如下圖:
並編寫代碼測試(delphi XE7 + Win10):
procedure?TForm1.Button1Click(Sender:?TObject);begin
Memo1.Lines.LoadFromFile('d:\編輯2.txt');end;
測試結果如圖:
從測試結果看,能正確讀取並顯示數據。
據分析,截圖中的文本需要以 UTF-16 LE BOM 編碼格式存儲。
補充:
delphi Xe 版本以上,都使用 unicode 作為常用字符編碼支持,TStrings 類的 LoadFromFile 和 LoadFromStream 都有重載的版本:
普通版本:
procedure?TStrings.LoadFromFile(const?FileName:?string);procedure?TStrings.LoadFromStream(Stream:?TStream);
重載版本:
procedure?TStrings.LoadFromStream(Stream:?TStream;?Encoding:?TEncoding);procedure?TStrings.LoadFromFile(const?FileName:?string;?Encoding:?TEncoding);
重載版本,增加了壹個 Endcoding 參數,用於指示讀取數據的編碼格式。
TEncoding 可以使用以下的編碼格式:
在本問題中,妳可以嘗試使用 Unicode 和 BigEndianUnicode 編碼來加載讀取數據。