我知道是 %F0 %9F %8C %A0
但是如何将其转换为在 Delphi 中可用?
我尝试了几个 html 编码器,但没有一个给出这个结果
我的测试
for i := 1 to length(s) do
result:= result+IntToHex(ord(s[i]),2);
但我的结果是 D83CDF20
我知道是 %F0 %9F %8C %A0
但是如何将其转换为在 Delphi 中可用?
我尝试了几个 html 编码器,但没有一个给出这个结果
我的测试
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, $9F, $8C, $A0));
end;
或者干脆
S := '';
如果你想反过来:
var
bytes: TBytes;
begin
bytes := TEncoding.UTF8.GetBytes('');
end;
或者:
var
S: UTF8String;
begin
S := UTF8String('');
end;
适用于 Delphi 2009 及更高版本。