在Dart语言中,字符串只是一系列 UTF-16(16 位 Unicode 转换格式)代码单元。 Unicode 格式映射一个唯一的数字字符来表示每个数字、字母或符号。
符文可以定义为用于表示任何 Unicode 代码点的整数。作为Dart字符串是UTF-16代码单元的简单序列,在一个字符串中32位的Unicode值使用的是特殊的语法表示。 dart:core库中的String类提供了访问符文的方法。可以通过以下方式访问符文:
- 使用 String.codeUnits 属性
- 使用 String.runes 属性
- 使用 String.codeUnitAt()函数
String.codeUnits 属性
此属性返回给定字符串的 16 位 UTF-16 代码单元的不可更改列表。
句法:
String. codeUnits;
例子:
Dart
import 'dart:core';
main(){
String gfg = 'GeeksforGeeks';
print(gfg.codeUnits);
}
Dart
main(){
String gfg="GFG";
gfg.runes.forEach((int x) {
var ch=new String.fromCharCode(x);
print(ch);
});
}
Dart
import 'dart:core';
main(){
String gfg = 'GeeksforGeeks';
print(gfg.codeUnitAt(2));
}
输出:
[71, 101, 101, 107, 115, 102, 111, 114, 71, 101, 101, 107, 115]
String.runes 属性
String.runes扩展Iterable 。此属性返回指定字符串的 Unicode 代码点的迭代。
句法:
String.runes;
例子:
Dart
main(){
String gfg="GFG";
gfg.runes.forEach((int x) {
var ch=new String.fromCharCode(x);
print(ch);
});
}
输出:
G
F
G
String.codeUnitAt()函数
它用于返回此字符串指定索引处的 UTF-16 代码单元。
句法:
String.codeUnitAt(int index);
例子:
Dart
import 'dart:core';
main(){
String gfg = 'GeeksforGeeks';
print(gfg.codeUnitAt(2));
}
输出:
101