การเขียนโปรแกรม Dart - อักษรรูน
สตริงคือลำดับของอักขระ Dart แสดงถึงสตริงเป็นลำดับของหน่วยรหัส Unicode UTF-16 Unicode เป็นรูปแบบที่กำหนดค่าตัวเลขที่ไม่ซ้ำกันสำหรับตัวอักษรตัวเลขและสัญลักษณ์แต่ละตัว
เนื่องจากสตริง Dart เป็นลำดับของหน่วยรหัส UTF-16 ค่า Unicode 32 บิตภายในสตริงจะแสดงโดยใช้ไวยากรณ์พิเศษ กrune เป็นจำนวนเต็มแทนจุดรหัส Unicode
คลาส String ใน dart:core ห้องสมุดมีกลไกในการเข้าถึง runes. หน่วยรหัสสตริง / อักษรรูนสามารถเข้าถึงได้สามวิธี -
- ใช้ฟังก์ชัน String.codeUnitAt ()
- ใช้คุณสมบัติ String.codeUnits
- ใช้คุณสมบัติ String.runes
String.codeUnitAt () ฟังก์ชัน
หน่วยรหัสในสตริงสามารถเข้าถึงได้ผ่านดัชนี ส่งคืนหน่วยรหัส UTF-16 16 บิตที่ดัชนีที่กำหนด
ไวยากรณ์
String.codeUnitAt(int index);
ตัวอย่าง
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnitAt(0));
}
มันจะผลิตสิ่งต่อไปนี้ output -
82
String.codeUnits คุณสมบัติ
คุณสมบัตินี้ส่งคืนรายการที่ไม่สามารถแก้ไขได้ของหน่วยรหัส UTF-16 ของสตริงที่ระบุ
ไวยากรณ์
String. codeUnits;
ตัวอย่าง
import 'dart:core';
void main(){
f1();
}
f1() {
String x = 'Runes';
print(x.codeUnits);
}
มันจะผลิตสิ่งต่อไปนี้ output -
[82, 117, 110, 101, 115]
String.runes คุณสมบัติ
คุณสมบัตินี้ส่งคืนจุดรหัส Unicode ที่ทำซ้ำได้ string.Runes ขยายได้
ไวยากรณ์
String.runes
ตัวอย่าง
void main(){
"A string".runes.forEach((int rune) {
var character=new String.fromCharCode(rune);
print(character);
});
}
มันจะผลิตสิ่งต่อไปนี้ output -
A
s
t
r
i
n
g
จุดรหัส Unicode มักแสดงเป็น \uXXXXโดยที่ XXXX คือค่าฐานสิบหก 4 หลัก หากต้องการระบุเลขฐานสิบหกมากกว่าหรือน้อยกว่า 4 หลักให้วางค่าในวงเล็บปีกกา หนึ่งสามารถใช้ตัวสร้างของคลาสรูนใน dart: core ไลบรารีเดียวกัน
ตัวอย่าง
main() {
Runes input = new Runes(' \u{1f605} ');
print(new String.fromCharCodes(input));
}
มันจะผลิตสิ่งต่อไปนี้ output -