位置:首頁 > 高級語言 > D語言教學 > D語言字符

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: ğ