字符串的 runes(整数 Unicode 码点)。
字符串中的字符以 UTF-16 编码。解码 UTF-16,结合代理对,将生成 Unicode 码点。与 Go 的类似术语一致,Dart 使用 'rune' 来表示代表 Unicode 码点的整数。使用 runes
属性来获取字符串的 runes。
示例
const string = 'Dart';
final runes = string.runes.toList();
print(runes); // [68, 97, 114, 116]
对于由代理对组成的、位于基本多语言平面(平面 0)之外的字符,runes 将组合该对并返回一个单一的整数。
例如,"Man" 表情符号('👨', U+1F468
)的 Unicode 字符由代理 U+d83d
和 U+dc68
组合而成。
示例
const emojiMan = '👨';
print(emojiMan.runes); // (128104)
// Surrogate pairs:
for (final item in emojiMan.codeUnits) {
print(item.toRadixString(16));
// d83d
// dc68
}
另请参阅
- 继承
- 可用的扩展
构造函数
属性
- first → int
- 第一个元素。no setterinherited
- hashCode → int
- 此对象的哈希码。no setterinherited
- isEmpty → bool
- 此集合是否没有元素。no setterinherited
- isNotEmpty → bool
- 此集合是否至少有一个元素。no setterinherited
- iterator → RuneIterator
- 一个新的
Iterator
,允许迭代此Iterable
的元素。no setteroverride - last → int
- 最后一个元素。no setteroverride
- length → int
- 此 Iterable 中的元素数量。no setterinherited
- runtimeType → Type
- 对象的运行时类型的表示。no setterinherited
- single → int
- 检查这个可迭代对象是否只有一个元素,并返回该元素。no setterinherited
- string → String
- 表示该字符串的runes。final
方法
-
any(
bool test(int element)) → bool - 检查这个可迭代对象的任何元素是否满足
test
。继承 -
cast<
R> () → Iterable< R> - 将这个可迭代对象视为一个
R
实例的可迭代对象。继承 -
contains(
Object? element) → bool - 集合是否包含等于
element
的元素。继承 -
elementAt(
int index) → int - 返回第
index
个元素。继承 -
every(
bool test(int element)) → bool - 检查这个可迭代对象的每个元素是否都满足
test
。继承 -
expand<
T> (Iterable< T> toElements(int element)) → Iterable<T> - 将这个可迭代对象的每个元素扩展为零个或多个元素。继承
-
firstWhere(
bool test(int element), {int orElse()?}) → int - 返回满足给定谓词
test
的第一个元素。继承 -
fold<
T> (T initialValue, T combine(T previousValue, int element)) → T - 通过迭代地将集合中的每个元素与一个现有值结合,将集合缩减为一个单一值。继承
-
followedBy(
Iterable< int> other) → Iterable<int> - 创建一个惰性连接,将此可迭代对象和
other
连接起来。继承 -
forEach(
void action(int element)) → void - 按迭代顺序在可迭代对象的每个元素上调用
action
。继承 -
join(
[String separator = ""]) → String - 将每个元素转换为String并连接这些字符串。继承
-
lastWhere(
bool test(int element), {int orElse()?}) → int - 满足给定谓词
test
的最后一个元素。继承 -
map<
T> (T toElement(int e)) → Iterable< T> - 通过
toElement
修改的可迭代对象的当前元素。继承 -
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时被调用。继承
-
reduce(
int combine(int value, int element)) → int - 通过使用提供的函数迭代地将集合的元素结合为一个单一值。继承
-
singleWhere(
bool test(int element), {int orElse()?}) → int - 满足
test
的单个元素。继承 -
skip(
int count) → Iterable< int> - 创建一个 Iterable,提供除了前
count
个元素之外的所有元素。继承 -
skipWhile(
bool test(int value)) → Iterable< int> - 创建一个在
test
满足条件时跳过前导元素的Iterable
。继承 -
take(
int count) → Iterable< int> - 创建一个懒加载的包含此可迭代对象前
count
个元素的迭代器。继承 -
takeWhile(
bool test(int value)) → Iterable< int> - 创建一个懒加载的包含满足
test
条件的前导元素的迭代器。继承 -
toList(
{bool growable = true}) → List< int> - 创建一个包含此 Iterable 元素的 List。继承
-
toSet(
) → Set< int> - 创建一个包含与此可迭代对象相同元素的 Set。继承
-
toString(
) → String - 返回(部分)
this
的元素字符串表示。继承 -
where(
bool test(int element)) → Iterable< int> - 创建一个新的惰性 Iterable,包含所有满足谓词
test
的元素。继承 -
whereType<
T> () → Iterable< T> - 创建一个新的惰性 Iterable,包含所有类型为
T
的元素。继承
运算符
-
operator ==(
Object other) → bool - 等号运算符。继承