我想在文本小部件中显示一个字符串,其中有一些表情符号。但是字符串的格式是unicode号码,像“U+1F 44 C”。我试图将其显示为emoji字符:👌。我尝试将字符串格式化为\u{xxxx}:
final str = "\\u{${unicodeString}}";
但它不起作用。它只显示原始字符串\u{1f44c}
\u{1f44c}
kadbb4591#
这里显示的是\u{1f44c},因为当你指定多个反斜杠(如\\u)时,flutter/dart会将整个文本视为普通的字符串类型数据。如果您指定\u,则flutter预期下一个字符将是十六进制特殊字符,并在flutter将文本渲染到UI时将此字符串视为十六进制特殊字符串数据,在此期间flutter引擎转换十六进制特殊字符串并渲染相应的emoji。因此,您应该使用实际的十六进制特殊字符串,如final str = "\u{1f44c}";,然后输出将如下所示👌。
\\u
\u
final str = "\u{1f44c}";
llycmphe2#
你可以简单地复制Emoji并将其粘贴在“”或“”之间,就像这样:
final str = "👌";
2条答案
按热度按时间kadbb4591#
这里显示的是
\u{1f44c}
,因为当你指定多个反斜杠(如\\u
)时,flutter/dart会将整个文本视为普通的字符串类型数据。如果您指定
\u
,则flutter预期下一个字符将是十六进制特殊字符,并在flutter将文本渲染到UI时将此字符串视为十六进制特殊字符串数据,在此期间flutter引擎转换十六进制特殊字符串并渲染相应的emoji。因此,您应该使用实际的十六进制特殊字符串,如
final str = "\u{1f44c}";
,然后输出将如下所示👌。llycmphe2#
你可以简单地复制Emoji并将其粘贴在“”或“”之间,就像这样: