Dart基础语言 — Runes

Dart基础语言 — Runes

Runes

Runes 对象是一个 32位 字符对象,用来表示一个字。 这样设计也是考虑兼容 UTF-16 四个字节的情况。

length 和 runes.length 比较

String a = '';
print(a.length);
print(a.runes.length);
>> 输出
2 // 标识占 2 个 16 位字符
1 // 表示占 1 个 32 位字符

runes 是一个 32 位字符对象

操作 32-bit Unicode 字符

Runes b = new Runes('\u{1f596} \u6211');
var c = String.fromCharCodes(b);
// 或者
String c = '\u{1f596} \u6211'

如果非4个数值,需要用 {…}

返回 16-bit code units 的 codeUnitAt codeUnits

var a = '';print(a.codeUnitAt(0));
print(a.codeUnits);
>> 输出55357     // 第 1 位的 10 进制数值
[55357, 56442]  // 显示 2 位的 10 进制数值

返回 32-bit Unicode 的 runes

var a = '';
print(a.runes);
>> 输出
(128122) // 显示 32 位的 10 进制数值

String 操作整理

| 名称 | 说明 | | —— | —— | | codeUnitAt | 某个字符的码 10进制 | | fromCharCodes | Runes 转 String 工厂函数 | | runes | 返回字对象 |

基础知识字符集

  • ASCII

  • 非 ASCII 中的 GB2312、GBK

  • Unicode、UTF-8、UTF-16、UTF-32

PDF文档整理:

Dart基础语言学习-上篇.pdf

(0)

相关推荐