Flutter字符串处理

Dart 的 String 类使用 UTF-16 编码格式,遇到一些特殊语言和表情符号时会处理异常,例如:

1
2
3
4
main() {
var input = ['Resume', 'Résumé', '个人简历', '💼📃', 'Currículo'];
input.forEach((it) => print(it.substring(0, 3)));
}

输出:

1
2
3
4
5
Res
Ré
个人简
💼���
Cur

通过引入字符串处理包 https://pub.flutter-io.cn/packages/characters ,然后用 it.characters.take(3) 替换 it.substring(0, 3)