การเขียนโปรแกรม D - ตัวอักษร

อักขระเป็นส่วนประกอบของสตริง สัญลักษณ์ของระบบการเขียนใด ๆ เรียกว่าอักขระ: ตัวอักษรของตัวอักษรตัวเลขเครื่องหมายวรรคตอนอักขระเว้นวรรค ฯลฯ สร้างความสับสนให้กับตัวอักษรเช่นกัน

ค่าจำนวนเต็มของตัวพิมพ์เล็ก a คือ 97 และค่าจำนวนเต็มของตัวเลข 1 คือ 49 ค่าเหล่านี้ได้รับการกำหนดโดยแบบแผนเท่านั้นเมื่อตาราง ASCII ได้รับการออกแบบ

ตารางต่อไปนี้กล่าวถึงประเภทอักขระมาตรฐานพร้อมขนาดและวัตถุประสงค์ในการจัดเก็บ

อักขระจะแสดงด้วยประเภทถ่านซึ่งสามารถเก็บค่าที่แตกต่างกันได้เพียง 256 ค่า หากคุณคุ้นเคยกับประเภทถ่านจากภาษาอื่นคุณอาจทราบแล้วว่ามันไม่ใหญ่พอที่จะรองรับสัญลักษณ์ของระบบการเขียนจำนวนมาก

ประเภท ขนาดการจัดเก็บ วัตถุประสงค์
ถ่าน 1 ไบต์ หน่วยรหัส UTF-8
wchar 2 ไบต์ หน่วยรหัส UTF-16
dchar 4 ไบต์ หน่วยรหัส UTF-32 และจุดรหัส Unicode

ฟังก์ชั่นอักขระที่มีประโยชน์บางอย่างอยู่ด้านล่าง

  • isLower - กำหนดว่าอักขระตัวพิมพ์เล็ก?

  • isUpper - กำหนดว่าอักขระตัวพิมพ์ใหญ่?

  • isAlpha - กำหนดว่าอักขระที่เป็นตัวเลขและตัวอักษร Unicode (โดยทั่วไปคือตัวอักษรหรือตัวเลข)?

  • isWhite - กำหนดว่าอักขระเว้นวรรคหรือไม่?

  • toLower - สร้างตัวพิมพ์เล็กของอักขระที่กำหนด

  • toUpper - สร้างตัวพิมพ์ใหญ่ของอักขระที่กำหนด

import std.stdio;
import std.uni;

void main() { 
   writeln("Is ğ lowercase? ", isLower('ğ')); 
   writeln("Is Ş lowercase? ", isLower('Ş'));  
   
   writeln("Is İ uppercase? ", isUpper('İ')); 
   writeln("Is ç uppercase? ", isUpper('ç')); 
   
   writeln("Is z alphanumeric? ",       isAlpha('z'));  
   writeln("Is new-line whitespace? ",  isWhite('\n')); 
   
   writeln("Is underline whitespace? ", isWhite('_'));  
   
   writeln("The lowercase of Ğ: ", toLower('Ğ')); 
   writeln("The lowercase of İ: ", toLower('İ')); 
   
   writeln("The uppercase of ş: ", toUpper('ş')); 
   writeln("The uppercase of ı: ", toUpper('ı')); 
}

เมื่อโค้ดด้านบนถูกคอมไพล์และเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Is ğ lowercase? true 
Is Ş lowercase? false 
Is İ uppercase? true 
Is ç uppercase? false
Is z alphanumeric? true 
Is new-line whitespace? true 
Is underline whitespace? false 
The lowercase of Ğ: ğ 
The lowercase of İ: i 
The uppercase of ş: Ş 
The uppercase of ı: I

การอ่านอักขระใน D

เราสามารถอ่านอักขระโดยใช้readfดังภาพด้านล่าง

readf(" %s", &letter);

เนื่องจากการเขียนโปรแกรม D สนับสนุน Unicode ในการอ่านอักขระ Unicode เราจึงต้องอ่านสองครั้งและเขียนสองครั้งเพื่อให้ได้ผลลัพธ์ที่คาดหวัง สิ่งนี้ใช้ไม่ได้กับคอมไพเลอร์ออนไลน์ ตัวอย่างดังแสดงด้านล่าง

import std.stdio;

void main() { 
   char firstCode; 
   char secondCode; 
   
   write("Please enter a letter: "); 
   readf(" %s", &firstCode); 
   readf(" %s", &secondCode); 
   
   writeln("The letter that has been read: ", firstCode, secondCode); 
}

เมื่อโค้ดด้านบนถูกคอมไพล์และเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Please enter a letter: ğ 
The letter that has been read: ğ