我正在从文本文件中读取一些字符串,问题是这些字符串是 UTF8 并且包含我希望删除的字符,例如: Ă
对我来说,一个不容易的解决方案是替换每次出现的非法字符,但因为我很懒,我想要一个更简单的解决方案
到目前为止我尝试过这个:
line := Utf8ToAnsi(line);
line 是我的 UTF8 编码字符串...我尝试将 line 声明为 UTF8String ...
这个问题有可行的解决方案吗?谢谢
在 Windows 上,只需执行以下操作:
type
TASCIIString = type AnsiString(20127);
function UTF8ToASCII(const S: TASCIIString): string;
begin
Result := S;
end;
如果原字符串有无法转换的字符,则会转为‘?’。如果要删除它们,请进行循环检查每个字符是否在集合 ['0'..'9', 'A'..'Z'] 中。