Runes
优质
小牛编辑
125浏览
2023-12-01
字符串是一系列字符。 Dart将字符串表示为Unicode UTF-16代码单元序列。 Unicode是一种格式,用于为每个字母,数字和符号定义唯一的数值。
由于Dart字符串是一系列UTF-16代码单元,因此字符串中的32位Unicode值使用特殊语法表示。 rune是表示Unicode代码点的整数。
dart:core库中的String类提供了访问runes机制。 可以通过三种方式访问字符串代码单元/符文 -
- 使用String.codeUnitAt()函数
- 使用String.codeUnits属性
- 使用String.runes属性
String.codeUnitAt() Function
可以通过索引访问字符串中的代码单元。 返回给定索引处的16位UTF-16代码单元。
语法 (Syntax)
String.codeUnitAt(int index);
例子 (Example)
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnitAt(0));
}
它将产生以下output -
82
String.codeUnits Property
此属性返回指定字符串的UTF-16代码单元的不可修改列表。
语法 (Syntax)
String. codeUnits;
例子 (Example)
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnits);
}
它将产生以下output -
[82, 117, 110, 101, 115]
String.runes Property
此属性返回此string.Runes的可迭代Unicode代码点string.Runes可迭代扩展。
语法 (Syntax)
String.runes
例子 (Example)
void main(){
"A string".runes.forEach((int rune) {
var character=new String.fromCharCode(rune);
print(character);
});
}
它将产生以下output -
A
s
t
r
i
n
g
Unicode代码点通常表示为\uXXXX ,其中XXXX是4位十六进制值。 要指定多于或少于4个十六进制数字,请将值放在大括号中。 可以在dart:core库中使用Runes类的构造函数。
例子 (Example)
main() {
Runes input = new Runes(' \u{1f605} ');
print(new String.fromCharCodes(input));
}
它将产生以下output -