Dart语言教程:符文(Runes)

2023年 7月 13日 77.4k 0

字符串是一系列字符。Dart将字符串表示为Unicode UTF-16代码单元序列。Unicode是一种格式,用于为每个字母,数字和符号定义唯一的数值。

由于Dart字符串是UTF-16代码单元序列,因此字符串中的32位Unicode值使用特殊语法表示。符文是表示Unicode代码点的整数。

dart:core库中的String类提供了访问符文的机制。可以通过三种方式访问字符串代码单元/符文 -

  • 使用String.codeUnitAt()函数
  • 使用String.codeUnits属性
  • 使用String.runes属性

String.codeUnitAt()函数

可以通过索引访问字符串中的代码单元。返回给定索引处的16位UTF-16代码单元。

语法

String.codeUnitAt(int index);

Dart

示例

import 'dart:core'; 
void main(){ 
   f1(); 
} 
f1() { 
   String x = 'Runes'; 
   print(x.codeUnitAt(0)); 
}

Dart

执行上面示例代码,得到以下结果 -

82

Shell

String.codeUnits属性

此属性返回指定字符串的UTF-16代码单元的不可修改列表。

语法

String. codeUnits;

Dart

示例

import 'dart:core';  
void main(){ 
   f1(); 
}  
f1() { 
   String x = 'Yiibai.com'; 
   print(x.codeUnits); 
}

Dart

执行上面示例代码,得到以下结果 -

[89, 105, 105, 98, 97, 105, 46, 99, 111, 109]

Shell

String.runes属性

此属性返回此字符串的可迭代Unicode代码点,Runes可迭代扩展。

语法

String.runes

Dart

示例

void main(){ 
   "Maxsu".runes.forEach((int rune) { 
      var character=new String.fromCharCode(rune); 
      print(character); 
   });  
}

Dart

执行上面示例代码,得到以下结果 -

M
a
x
s
u

Shell

Unicode代码点通常表示为\uXXXX,其中XXXX4位十六进制值。要指定多于或少于4个十六进制数字,请将值放在大括号中。可以在dart:core库中使用Runes类的构造函数。

示例

main() { 
   Runes input = new Runes(' \u{1f605} '); 
   print(new String.fromCharCodes(input)); 
}

原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/dart/dart_programming_runes.html#article-start

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论