D語言字符
字符是字符串的基石。文字系統的任何符號稱爲字符:字母,數字,標點符號,空格字符等字母令人困惑的是,字符本身的基石也被稱爲字符。
小寫a的整數值是97,數字1的整數值是49,這些數值已經僅僅指派當ASCII碼錶的設計慣例。
下表提供了有關與存儲大小,其目的標準字符類型的詳細信息。
字符由char類型,它只能容納256個不同的值來表示。如果熟悉其他語言的字符類型,可能已經知道這不是大到足以支持許多書寫系統的符號。
類型
存儲大小
目的
char
1 byte
UTF-8 code unit
wchar
2 bytes
UTF-16 code unit
dchar
4 bytes
UTF-32 code unit and Unicode code yiibai
一些有用的字符函數列表如下
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('
')); 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
讀取字符
我們可以用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: ğ