gpt4 book ai didi

delphi - TStringList.LoadFromFile Unicode

转载 作者:行者123 更新时间:2023-12-03 15:06:40 27 4
gpt4 key购买 nike

我正在尝试打开一个 StringList 的 txt 文件,但如果我打开 UTF-8 格式,它无法加载,这很令人困惑,因为我有 Unicode XE2,我在这里错过了一些愚蠢的东西吗?

简单示例

Sl := tStringList.Create;

SL.LoadFromFile(sFilePath);

For i =0 to SL.Count -1 do
foo

但是当 txt 文件为 UTF-8 时,字符串不会加载,但当文件为 ANSI 格式时,字符串可以正常工作。

最佳答案

TStringList.LoadFromFile 将尝试从文件的字节顺序标记 (BOM) 推断编码。如果不存在 BOM,则假定为 ANSI 编码。

在您的情况下,很明显没有 BOM,因此您必须告诉 LoadFromFile 要使用哪种编码。通过将编码指定为传递给 LoadFromFile 的第二个参数来实现此目的:

SL.LoadFromFile(sFilePath, TEncoding.UTF8);

关于delphi - TStringList.LoadFromFile Unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44696887/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com