flutter 当Unicode是字符串的总和时对其进行解码

cmssoen2  于 2023-02-09  发布在  Flutter
关注(0)|答案(1)|浏览(387)

我有一个Unicode字符串作为6个子字符串的总和:

String unicode = '\\' + 'u' + '0' + '0' + 'e' + '4';

那么flutter有没有可能把它解码成这样的unicode String:

String unicodeString = '\u00e4';

非常感谢你的帮助!

0lvr5msh

0lvr5msh1#

是的,这很容易做到:

  • 提取\u后面的十六进制数
  • 将其转换为整数,生成Unicode代码点
  • 将代码点转换为字符串
String unicode = '\\u00e4';
var codepoint = int.parse(unicode.substring(2, 6), radix: 16);
String unicodeString = String.fromCharCode(codepoint);
print(unicodeString);

还需要注意的是,你可以只写'\\u00e4',因为它以一个双反斜杠开头,所以这实际上是一个6个字符的字符串(不等于'\u00e4')。

相关问题