String adalah urutan karakter. Dart mewakili string sebagai urutan unit kode Unicode UTF-16. Unicode adalah format yang menentukan nilai numerik unik untuk setiap huruf, digit, dan simbol. Rune adalah bilangan bulat yang mewakili setiap urutan karakter dalam suatu String.
Class String dalam library dart:core menyediakan mekanisme untuk mengakses Rune. Unit kode String/rune dapat diakses dengan tiga cara :
- Menggunakan fungsi String.codeUnitAt()
- Menggunakan properti String.codeUnits
- Menggunakan properti String.runes
Fungsi codeUnitAt()
Unit kode dalam sebuah string dapat diakses melalui indeksnya. Fungsi ini mengembalikan unit kode UTF-16 16-bit pada indeks yang diberikan.
Cara Penulisan
String.codeUnitAt(int index);
Contoh
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnitAt(0));
}
Ketika dijalankan kode di atas akan mengeluarkan output berikut :
82
Properti codeUnits
Properti codeUnits mengembalikan Array yang tidak dapat diubah dari unit kode UTF-16 dari suatu String.
Cara Penulisan
String.codeUnits;
Contoh
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnits);
}
Kode di atas akan menghasilkan output berikut :
[82, 117, 110, 101, 115]
Properti runes
Properti runes mengembalikan sebuah iterable yang berisi unit kode Unicode dari suatu String.
Cara Penulisan
String.runes
Contoh
void main() {
"Sebuah string".runes.forEach((int rune) {
var character = new String.fromCharCode(rune);
print(character);
});
}
Kode di atas akan menghasilkan output berikut :
S
e
b
u
a
h
s
t
r
i
n
g
Kode Unicode biasanya dinyatakan sebagai \uXXXX, di mana XXXX adalah nilai heksadesimal 4 digit. Untuk mencetak nilai tersebut agar dapat dibaca, letakkan nilai tersebut di dalam kurung kurawal.
Contoh
main() {
Runes input = new Runes(' \u{1f605} ');
print(new String.fromCharCodes(input));
}
Kode di atas akan menghasilkan output berikut :
😅
Tutorial sebelumnya : Menggunakan Symbol Dengan Dart
Tutorial setelahnya : Dart Enumeration
Semua Tutorial Dart : Tutorial Dart