การเขียนโปรแกรม 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 -