Programmation de fléchettes - Runes

Les chaînes sont une séquence de caractères. Dart représente des chaînes sous la forme d'une séquence d'unités de code Unicode UTF-16. Unicode est un format qui définit une valeur numérique unique pour chaque lettre, chiffre et symbole.

Étant donné qu'une chaîne Dart est une séquence d'unités de code UTF-16, les valeurs Unicode 32 bits dans une chaîne sont représentées à l'aide d'une syntaxe spéciale. UNErune est un entier représentant un point de code Unicode.

La classe String dans le dart:core la bibliothèque fournit des mécanismes d'accès runes. Les unités de code de chaîne / runes sont accessibles de trois manières -

  • Utilisation de la fonction String.codeUnitAt ()
  • Utilisation de la propriété String.codeUnits
  • Utilisation de la propriété String.runes

Fonction String.codeUnitAt ()

Les unités de code d'une chaîne sont accessibles via leurs index. Renvoie l'unité de code UTF-16 16 bits à l'index donné.

Syntaxe

String.codeUnitAt(int index);

Exemple

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

Il produira ce qui suit output -

82

String.codeUnits, propriété

Cette propriété renvoie une liste non modifiable des unités de code UTF-16 de la chaîne spécifiée.

Syntaxe

String. codeUnits;

Exemple

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

Il produira ce qui suit output -

[82, 117, 110, 101, 115]

Propriété String.runes

Cette propriété renvoie un itérable des points de code Unicode de ce string.Runes étend itérable.

Syntaxe

String.runes

Exemple

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

Il produira ce qui suit output -

A 
s 
t 
r 
i 
n 
g

Les points de code Unicode sont généralement exprimés comme \uXXXX, où XXXX est une valeur hexadécimale à 4 chiffres. Pour spécifier plus ou moins de 4 chiffres hexadécimaux, placez la valeur entre accolades. On peut utiliser le constructeur de la classe Runes dans la bibliothèque dart: core pour le même.

Exemple

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

Il produira ce qui suit output -