Lập trình phi tiêu - Runes

Chuỗi là một chuỗi các ký tự. Dart đại diện cho các chuỗi dưới dạng một chuỗi các đơn vị mã Unicode UTF-16. Unicode là một định dạng xác định một giá trị số duy nhất cho mỗi chữ cái, chữ số và ký hiệu.

Vì chuỗi Dart là một chuỗi các đơn vị mã UTF-16, các giá trị Unicode 32-bit trong chuỗi được biểu diễn bằng cú pháp đặc biệt. Arune là một số nguyên đại diện cho một điểm mã Unicode.

Lớp Chuỗi trong dart:core thư viện cung cấp các cơ chế để truy cập runes. Các đơn vị mã / rune chuỗi có thể được truy cập theo ba cách:

  • Sử dụng hàm String.codeUnitAt ()
  • Sử dụng thuộc tính String.codeUnits
  • Sử dụng thuộc tính String.runes

Hàm String.codeUnitAt ()

Các đơn vị mã trong một chuỗi có thể được truy cập thông qua các chỉ mục của chúng. Trả về đơn vị mã UTF-16 16 bit tại chỉ mục đã cho.

Cú pháp

String.codeUnitAt(int index);

Thí dụ

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

Nó sẽ tạo ra những thứ sau output -

82

Thuộc tính String.codeUnits

Thuộc tính này trả về một danh sách không thể thay đổi của các đơn vị mã UTF-16 của chuỗi được chỉ định.

Cú pháp

String. codeUnits;

Thí dụ

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

Nó sẽ tạo ra những thứ sau output -

[82, 117, 110, 101, 115]

Thuộc tính String.runes

Thuộc tính này trả về một điểm mã Unicode có thể lặp lại của nó string.Runes mở rộng có thể lặp lại.

Cú pháp

String.runes

Thí dụ

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

Nó sẽ tạo ra những thứ sau output -

A 
s 
t 
r 
i 
n 
g

Các điểm mã Unicode thường được biểu thị bằng \uXXXX, trong đó XXXX là giá trị thập lục phân gồm 4 chữ số. Để chỉ định nhiều hơn hoặc ít hơn 4 chữ số hex, hãy đặt giá trị trong dấu ngoặc nhọn. Người ta có thể sử dụng hàm tạo của lớp Runes trong thư viện dart: core cho tương tự.

Thí dụ

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

Nó sẽ tạo ra những thứ sau output -