delphi - 为什么 IsUTF8String 返回 false?

标签 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;

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

最佳答案

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

如果您可以对程序设计做一些事情来消除猜测字符串编码的需要,我建议您这样做。猜测可能是错误的。尽量不要弄错您的客户数据。

关于delphi - 为什么 IsUTF8String 返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6253690/

相关文章:

web-services - 使用 IIS 在 Delphi 2009 中创建 REST Web 服务

c++ - 如何从 Delphi 调用 "_pascal calling convention"的 dll?

delphi - 如何从自动化调用内部确定脚本源位置?

string - Delphi字符串共享问题

delphi - 如何在运行时将取货列表添加到 DBGrid?

delphi - 调用 ShowMessage 时会发生什么?

delphi - 如何去除TWebBrowser的边框和滚动条?

delphi - Delphi XE 中调试代码

delphi - 如何解释 FastMM 或 GetProcessMemoryInfo 报告的内存使用情况的差异?

delphi - 从 Delphi IDE 运行批处理文件