我得到字符串与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;