D Programlama - Karakterler
Karakterler, dizelerin yapı taşlarıdır. Bir yazı sisteminin herhangi bir sembolüne karakter denir: alfabe harfleri, sayılar, noktalama işaretleri, boşluk karakteri vb. Kafa karıştırıcı bir şekilde, karakterlerin yapı taşlarına da karakter denir.
Küçük harfin tamsayı değeri a 97'dir ve 1 rakamının tamsayı değeri 49'dur. Bu değerler, ASCII tablosu tasarlandığında yalnızca konvansiyonlar tarafından atanmıştır.
Aşağıdaki tablo, depolama boyutları ve amaçları ile standart karakter türlerinden bahsetmektedir.
Karakterler, yalnızca 256 farklı değer tutabilen char türüyle temsil edilir. Diğer dillerdeki char türüne aşinaysanız, birçok yazı sisteminin sembollerini destekleyecek kadar büyük olmadığını zaten biliyor olabilirsiniz.
Tür | Depolama boyutu | Amaç |
---|---|---|
kömür | 1 bayt | UTF-8 kod birimi |
wchar | 2 bayt | UTF-16 kod birimi |
dchar | 4 bayt | UTF-32 kod birimi ve Unicode kod noktası |
Bazı yararlı karakter işlevleri aşağıda listelenmiştir -
isLower - Küçük harfli bir karakter olup olmadığını belirler?
isUpper - Büyük harf karakteri olup olmadığını belirler?
isAlpha - Unicode alfanümerik bir karakter (genellikle bir harf veya bir rakam) olup olmadığını belirler.
isWhite - Bir boşluk karakteri olup olmadığını belirler?
toLower - Verilen karakterin küçük harfini üretir.
toUpper - Verilen karakterin büyük harfini üretir.
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('ı'));
}
Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -
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 Karakterleri Okuma
Aşağıda gösterildiği gibi readf kullanarak karakterleri okuyabiliriz .
readf(" %s", &letter);
D programlama unicode'u desteklediğinden, unicode karakterleri okumak için iki kez okumamız ve beklenen sonucu elde etmek için iki kez yazmamız gerekir. Bu, çevrimiçi derleyicide çalışmaz. Örnek aşağıda gösterilmiştir.
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);
}
Yukarıdaki kod derlendiğinde ve yürütüldüğünde, aşağıdaki sonucu verir -
Please enter a letter: ğ
The letter that has been read: ğ