Учебники

Дартс программирование — руны

Строки — это последовательность символов. Dart представляет строки в виде последовательности кодовых единиц Unicode UTF-16. Юникод — это формат, который определяет уникальное числовое значение для каждой буквы, цифры и символа.

Поскольку строка Dart представляет собой последовательность единиц кода UTF-16, 32-битные значения Unicode в строке представляются с использованием специального синтаксиса. Руна — это целое число, представляющее кодовую точку Unicode.

Класс String в библиотеке dart: core предоставляет механизмы для доступа к рунам . К единицам / рунам строкового кода можно получить доступ тремя способами:

  • Использование функции String.codeUnitAt ()
  • Использование свойства String.codeUnits
  • Использование свойства String.runes

Функция String.codeUnitAt ()

К единицам кода в строке можно получить доступ через их индексы. Возвращает 16-битную кодовую единицу UTF-16 по заданному индексу.

Синтаксис

String.codeUnitAt(int index);

пример

Live Demo

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

Это даст следующий результат

82

Свойство String.codeUnits

Это свойство возвращает неизменяемый список кодовых единиц UTF-16 указанной строки.

Синтаксис

String. codeUnits;

пример

Live Demo

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

Это даст следующий результат

[82, 117, 110, 101, 115]

String.runes Имущество

Это свойство возвращает повторяемость кодовых точек Unicode этой строки. Runes расширяет повторяемость.

Синтаксис

String.runes

пример

Live Demo

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

Это даст следующий результат

A 
s 
t 
r 
i 
n 
g

Кодовые точки Unicode обычно выражаются как \ uXXXX , где XXXX — это шестнадцатеричное 4-значное значение. Чтобы указать более или менее 4 шестнадцатеричных цифр, поместите значение в фигурные скобки. Для этого можно использовать конструктор класса Runes в библиотеке dart: core.

пример

Live Demo

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

Это даст следующий результат