写在前面
本文基本上是将dart官网部分内容进行翻译,没兴趣的请出门左转至Dart的官网,有兴趣的同志请继续阅读本文。
Flutter教程在这里
Runes
在Dart中,Runes是字符串的UTF-32代码点。
Unicode定义了一系列独一无二的数值,这些数值可以表示世界各种书写系统的每一个字母、数字以及衣符号。 由于Dart字符串是一系列UTF-16代码单元,因此在字符串中表示32位Unicode值需要特殊语法。
表达Unicode代码点的常用方法是\ uXXXX,其中XXXX是4位十六进制值。 例如,心脏角色(♥)是\ u2665
。 要指定多于或少于4个十六进制数字,请将值放在大括号中。 例如,笑的表情符号(😆)是\ u {1f600}
。
String类有几个属性可用于提取符文信息。 codeUnitAt
和codeUnit
属性返回16位代码单元。 使用runes属性获取字符串的符文。
以下示例说明了符文,16位代码单元和32位代码点之间的关系。 在此运行示例代码。
注意:使用列表操作操作符文时要小心。因为这种方法很容易失败,具体取决于特定的语言,字符集和操作。 有关更多信息,请在Stack Overflow上参阅如何在Dart中反转字符串? 。
Symbols
Symbol对象表示在Dart程序中声明的运算符或标识符。 您可能永远不需要使用符号,但它们对于按名称引用标识符的API非常有用,因为缩小会更改标识符名称而不会更改标识符符号。
要获取标识符的符号,请使用符号文字,它只是#
后跟标识符:
#radix
#bar
Symbol 字符是编译时常量。