Программирование дротиков - руны

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

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

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

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

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

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

Синтаксис

String.codeUnitAt(int index);

пример

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

Это приведет к следующему output -

82

String.codeUnits Свойство

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

Синтаксис

String. codeUnits;

пример

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

Это приведет к следующему output -

[82, 117, 110, 101, 115]

String.runes Свойство

Это свойство возвращает итерацию кодовых точек Unicode этого string.Runes расширяет итерабельность.

Синтаксис

String.runes

пример

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

Это приведет к следующему output -

A 
s 
t 
r 
i 
n 
g

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

пример

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

Это приведет к следующему output -