
- D 程式設計基礎
- D 程式設計 - 首頁
- D 程式設計 - 概述
- D 程式設計 - 環境
- D 程式設計 - 基本語法
- D 程式設計 - 變數
- D 程式設計 - 資料型別
- D 程式設計 - 列舉
- D 程式設計 - 字面量
- D 程式設計 - 運算子
- D 程式設計 - 迴圈
- D 程式設計 - 條件語句
- D 程式設計 - 函式
- D 程式設計 - 字元
- D 程式設計 - 字串
- D 程式設計 - 陣列
- D 程式設計 - 關聯陣列
- D 程式設計 - 指標
- D 程式設計 - 元組
- D 程式設計 - 結構體
- D 程式設計 - 聯合體
- D 程式設計 - 範圍
- D 程式設計 - 別名
- D 程式設計 - 混合宏
- D 程式設計 - 模組
- D 程式設計 - 模板
- D 程式設計 - 不可變物件
- D 程式設計 - 檔案 I/O
- D 程式設計 - 併發
- D 程式設計 - 異常處理
- D 程式設計 - 合約式程式設計
- D - 條件編譯
- D 程式設計 - 面向物件
- D 程式設計 - 類與物件
- D 程式設計 - 繼承
- D 程式設計 - 過載
- D 程式設計 - 封裝
- D 程式設計 - 介面
- D 程式設計 - 抽象類
- D 程式設計 - 有用資源
- D 程式設計 - 快速指南
- D 程式設計 - 有用資源
- D 程式設計 - 討論
D 程式設計 - 字元
字元是字串的基本組成單元。任何書寫系統中的符號都被稱為字元:字母表中的字母、數字、標點符號、空格字元等。令人困惑的是,字元本身的基本組成單元也被稱為字元。
小寫字母 a 的整數值為 97,數字 1 的整數值為 49。這些值僅僅是在設計 ASCII 表時透過約定分配的。
下表列出了標準字元型別及其儲存大小和用途。
字元由 char 型別表示,它只能容納 256 個不同的值。如果您熟悉其他語言中的 char 型別,您可能已經知道它不足以支援許多書寫系統的符號。
型別 | 儲存大小 | 用途 |
---|---|---|
char | 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: ğ
廣告