我有一些简单的代码:
procedure TForm1.Button1Click(Sender:TObject);
var
x: RawByteString;
begin
x := UTF8Encode('testing utf8');
if (IsUTF8String(x)) then
Memo1.Lines.Add('true');
end;
这返回 False,我做错了什么吗?
最佳答案
该字符串中没有需要 UTF-8 编码的特殊字符 — 字符串中没有多字节 UTF-8 序列。它看起来像一个纯 ASCII 字符串。
如果您可以对程序设计做一些事情来消除猜测字符串编码的需要,我建议您这样做。猜测可能是错误的。尽量不要弄错您的客户数据。
关于delphi - 为什么 IsUTF8String 返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6253690/