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 -