转换为 %F0 %9F %8C %A0

Convert to %F0 %9F %8C %A0

我知道是 %F0 %9F %8C %A0

但我如何才能将其转换为在 Delphi 中可用?

我尝试了几个 html 编码器,但是 none 给出了这个结果

我的测试

 for i := 1 to length(s) do
    result:= result+IntToHex(ord(s[i]),2);

但我的结果是 D83CDF20

这是这个字符的简单UTF-8编码。您可以像这样使用 TEncoding 获取 Delphi 字符串:

var
  S: string;
begin
  S := TEncoding.UTF8.GetString(TBytes.Create($F0, F, C, $A0));
end;

或者干脆

S := '';

如果你想反过来:

var
  bytes: TBytes;
begin
  bytes := TEncoding.UTF8.GetBytes('');
end;

或:

var
  S: UTF8String;
begin
  S := UTF8String('');
end;

适用于 Delphi 2009 年及以后。