dart - 如何在 flutter/dart 中检查 TextField 是否包含 unicode 字符?

标签 dart flutter

我正在尝试计算消息传递应用程序的 TextField 中的字符数。如果消息正文包含任何 Unicode 字符,则每条消息的总长度为 70 个字符,否则为 160 个字符。

最佳答案

string.codeUnits 是 Unicode UTF-16 代码单元的数组。 所以我想说它可能就像

int maxLengthOfTextField(String text){
  final int maxBits = 128;
  List<int> unicodeSymbols = text.codeUnits.where((ch) => ch > maxBits ).toList();
  return unicodeSymbols.length > 0 ? 160 : 70;
}

final textFieldController = TextEditingController();
TextField(
  controller: textFieldController,
  maxLength: maxLengthOfTextField(textFieldController.text)
);

关于dart - 如何在 flutter/dart 中检查 TextField 是否包含 unicode 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55607305/

相关文章:

flutter - 如何在 flutter 中创建一排相同的图像?

android - 键盘打开/关闭后 Flutter 重建

flutter - 如何在widgetTree之外访问rxdart-bloc函数?

xcode - 如何解决在Xcode上构建Archive时找不到的头文件?

flutter - flutter 中的全局 snackbar/dialog utils 类

flutter - 如何在 Flutter 左侧放置 AppBar 标题

flutter - 了解第 3 方提供的类(实例)结构的一般方法是什么?

dart - 使用偏移量的容器动画 - Flutter

json - 如何使用 Flutter 中的默认方法解析复杂的 JSON?

gradle - 更改启动器图标 flutter 错误