Programowanie rzutek - runy
Łańcuchy to ciąg znaków. Dart reprezentuje ciągi jako sekwencję jednostek kodu Unicode UTF-16. Unicode to format, który definiuje unikalną wartość liczbową dla każdej litery, cyfry i symbolu.
Ponieważ ciąg Dart jest sekwencją jednostek kodu UTF-16, 32-bitowe wartości Unicode w ciągu są reprezentowane przy użyciu specjalnej składni. ZArune jest liczbą całkowitą reprezentującą punkt kodowy Unicode.
Klasa String w dart:core Biblioteka zapewnia mechanizmy dostępu runes. Dostęp do jednostek kodu / run można uzyskać na trzy sposoby -
- Korzystanie z funkcji String.codeUnitAt ()
- Korzystanie z właściwości String.codeUnits
- Korzystanie z właściwości String.runes
Funkcja String.codeUnitAt ()
Dostęp do jednostek kodu w ciągu można uzyskać za pośrednictwem ich indeksów. Zwraca 16-bitową jednostkę kodu UTF-16 pod podanym indeksem.
Składnia
String.codeUnitAt(int index);
Przykład
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnitAt(0));
}
Spowoduje to, co następuje output -
82
Właściwość String.codeUnits
Ta właściwość zwraca niemodyfikowalną listę jednostek kodu UTF-16 określonego ciągu.
Składnia
String. codeUnits;
Przykład
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnits);
}
Spowoduje to, co następuje output -
[82, 117, 110, 101, 115]
Właściwość String.runes
Ta właściwość zwraca iterowalną liczbę punktów kodu Unicode this string.Runes rozszerza iterowalność.
Składnia
String.runes
Przykład
void main(){
"A string".runes.forEach((int rune) {
var character=new String.fromCharCode(rune);
print(character);
});
}
Spowoduje to, co następuje output -
A
s
t
r
i
n
g
Punkty kodowe Unicode są zwykle wyrażane jako \uXXXX, gdzie XXXX to 4-cyfrowa wartość szesnastkowa. Aby określić więcej lub mniej niż 4 cyfry szesnastkowe, umieść wartość w nawiasach klamrowych. W tym celu można użyć konstruktora klasy Runes w bibliotece dart: core.
Przykład
main() {
Runes input = new Runes(' \u{1f605} ');
print(new String.fromCharCodes(input));
}
Spowoduje to, co następuje output -