Flutter/Dart 以编程方式 unicode 字符串

Mar*_*him 4 unicode icons dart flutter

我的应用程序有一个自定义图标列表,如下所示,设置为 IconData,请注意codePoint(0xe931)。

IconData angry_face = IconData(0xe931, fontFamily: _fontFamily);
Run Code Online (Sandbox Code Playgroud)

这没有什么问题,但在某些情况下我需要这个图标作为 Unicode 字符串来用作文本。它应该像这样完成:

// It works too
Text('\ue931', style: TextStyle(fontFamily: _fontFamily));
Run Code Online (Sandbox Code Playgroud)

问题是:

我不想“手动”使用此代码,因为此图标会被设计团队不断更改,有时它会更改其代码,弄乱我的应用程序图标。我需要做的是获取图标对象并将其解析为 Unicode 字符串,这样我就可以将它与文本小部件一起使用。

我认为这可以通过编程方式获取该代码并使用它,但事实并非如此:

var iconcode = iconData.codePoint.toRadixString(16);

var result;

// Error: An escape sequence starting with '\u'
// must be followed by 4 hexadecimal digits or
// from 1 to 6 digits between '{' and '}'
result = '\u$iconcode';

// Just a simple string
result = '\\u$iconcode';

Run Code Online (Sandbox Code Playgroud)

简而言之:如何以编程方式将 int codePoint 解析为有效的 Unicode 字符串?

Mar*_*him 5

这是正确的答案。我尝试了一切,但这个......谢谢@julemand101

final result = String.fromCharCode(iconData.codePoint);

Run Code Online (Sandbox Code Playgroud)