Dart Programming - Rune
Le stringhe sono una sequenza di caratteri. Dart rappresenta le stringhe come una sequenza di unità di codice Unicode UTF-16. Unicode è un formato che definisce un valore numerico univoco per ogni lettera, cifra e simbolo.
Poiché una stringa Dart è una sequenza di unità di codice UTF-16, i valori Unicode a 32 bit all'interno di una stringa vengono rappresentati utilizzando una sintassi speciale. UNrune è un numero intero che rappresenta un punto di codice Unicode.
La classe String in dart:core la libreria fornisce meccanismi per l'accesso runes. È possibile accedere alle unità / rune del codice stringa in tre modi:
- Utilizzo della funzione String.codeUnitAt ()
- Utilizzo della proprietà String.codeUnits
- Utilizzo della proprietà String.runes
Funzione String.codeUnitAt ()
È possibile accedere alle unità di codice in una stringa tramite i relativi indici. Restituisce l'unità di codice UTF-16 a 16 bit all'indice specificato.
Sintassi
String.codeUnitAt(int index);
Esempio
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnitAt(0));
}
Produrrà quanto segue output -
82
Proprietà String.codeUnits
Questa proprietà restituisce un elenco non modificabile delle unità di codice UTF-16 della stringa specificata.
Sintassi
String. codeUnits;
Esempio
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnits);
}
Produrrà quanto segue output -
[82, 117, 110, 101, 115]
Proprietà String.runes
Questa proprietà restituisce un iterabile di punti di codice Unicode di this string.Runes estende iterabile.
Sintassi
String.runes
Esempio
void main(){
"A string".runes.forEach((int rune) {
var character=new String.fromCharCode(rune);
print(character);
});
}
Produrrà quanto segue output -
A
s
t
r
i
n
g
I punti di codice Unicode sono generalmente espressi come \uXXXX, dove XXXX è un valore esadecimale di 4 cifre. Per specificare più o meno di 4 cifre esadecimali, inserire il valore tra parentesi graffe. Si può usare il costruttore della classe Runes nella libreria dart: core per lo stesso.
Esempio
main() {
Runes input = new Runes(' \u{1f605} ');
print(new String.fromCharCodes(input));
}
Produrrà quanto segue output -