为什么IsUTF8String返回false?

fos*_*ilz 1 delphi delphi-xe

我有一些简单的代码:

procedure TForm1.Button1Click(Sender:TObject);
var
  x: RawByteString;
begin
  x := UTF8Encode('testing utf8');
  if (IsUTF8String(x)) then
    Memo1.Lines.Add('true');
end;
Run Code Online (Sandbox Code Playgroud)

这返回False,我做错了什么?

Rob*_*edy 5

该字符串中没有需要UTF-8编码的特殊字符 - 字符串中没有多字节UTF-8序列.它看起来像一个普通的ASCII字符串.

如果您可以对程序的设计做任何事情,而不需要猜测字符串的编码,我建议您这样做.猜测可能是错的.尽量不要错误地对待客户的数据.