Delphi:显示Unicode表情符号xF0x9Fx99x8A 🙊从SQL聊天数据库在TMem



我得到字符串与Unicode表情符号,如

$F09F998A

$F0 $9F $99 $8A

xF0x9Fx99x8A

从SQL数据库中查询🙊。
s1 := '$F09F998A'; // From Database
s2 := '$F0 $9F $99 $8A'; // From Database
s3 := 'xF0x9Fx99x8A'; // From Database

如何将s1,s2,s3转换为在例如TMemo元素中显示为🙊?

如何转换s1,s2或s3?

// Memo1.lines.add('how to convert ' + ????? -> $F0 $9F $99 $8A );
Memo1.lines.add('how to convert ' + s1 + s2 + c3 + ' as Emoji?');

我想转换

function convert_as_Emoji(s: string):string;
begin
result := ???
end;

var s : string;
s := 'xF0x9Fx99x8A'; 
Memo1.lines.add(convert_as_Emoji(s));

现在我成功了:

在UTF-8中,🙊is bytes $F0 $9F $99 $8A - Remy Lebeau

procedure TForm1.Button1Click(Sender: TObject);
var
bytes: array[0..3] of byte;
str: string;
const emoji = '$F0$9F$99$8A';  //  🙊
begin
bytes[0] := strtoint('$F0'); // bytes[0] := $F0;
bytes[1] := strtoint('$9F'); // bytes[1] := $9F;
bytes[2] := strtoint('$99'); // bytes[2] := $99;
bytes[3] := strtoint('$8A'); // bytes[3] := $8A;
str := TEncoding.UTF8.GetString(bytes);
showmessage(str);
end;