Dart-Programmierung - Runen

Zeichenfolgen sind eine Folge von Zeichen. Dart repräsentiert Zeichenfolgen als eine Folge von Unicode UTF-16-Codeeinheiten. Unicode ist ein Format, das einen eindeutigen numerischen Wert für jeden Buchstaben, jede Ziffer und jedes Symbol definiert.

Da eine Dart-Zeichenfolge eine Folge von UTF-16-Codeeinheiten ist, werden 32-Bit-Unicode-Werte innerhalb einer Zeichenfolge mithilfe einer speziellen Syntax dargestellt. EINrune ist eine Ganzzahl, die einen Unicode-Codepunkt darstellt.

Die String-Klasse in der dart:core Bibliothek bietet Mechanismen für den Zugriff runes. Auf String-Code-Einheiten / Runen kann auf drei Arten zugegriffen werden:

  • Verwenden der Funktion String.codeUnitAt ()
  • Verwenden der String.codeUnits-Eigenschaft
  • Verwenden der String.runes-Eigenschaft

String.codeUnitAt () Funktion

Auf Codeeinheiten in einer Zeichenfolge kann über ihre Indizes zugegriffen werden. Gibt die 16-Bit-UTF-16-Codeeinheit am angegebenen Index zurück.

Syntax

String.codeUnitAt(int index);

Beispiel

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

Es wird Folgendes erzeugt output - -

82

String.codeUnits-Eigenschaft

Diese Eigenschaft gibt eine nicht veränderbare Liste der UTF-16-Codeeinheiten der angegebenen Zeichenfolge zurück.

Syntax

String. codeUnits;

Beispiel

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

Es wird Folgendes erzeugt output - -

[82, 117, 110, 101, 115]

String.runes-Eigenschaft

Diese Eigenschaft gibt eine Iterable von Unicode-Codepunkten davon zurück string.Runes erweitert iterable.

Syntax

String.runes

Beispiel

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

Es wird Folgendes erzeugt output - -

A 
s 
t 
r 
i 
n 
g

Unicode-Codepunkte werden normalerweise als ausgedrückt \uXXXX, wobei XXXX ein 4-stelliger Hexadezimalwert ist. Um mehr oder weniger als 4 hexadezimale Ziffern anzugeben, setzen Sie den Wert in geschweifte Klammern. Man kann den Konstruktor der Runes-Klasse in der dart: core-Bibliothek dafür verwenden.

Beispiel

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

Es wird Folgendes erzeugt output - -