D Programmierung - Zeichen
Zeichen sind die Bausteine von Zeichenfolgen. Jedes Symbol eines Schriftsystems wird als Zeichen bezeichnet: Buchstaben von Alphabeten, Ziffern, Satzzeichen, Leerzeichen usw. Verwirrenderweise werden die Bausteine von Zeichen selbst auch Zeichen genannt.
Der ganzzahlige Wert des Kleinbuchstabens a ist 97 und der ganzzahlige Wert der Ziffer 1 ist 49. Diese Werte wurden lediglich durch Konventionen zugewiesen, als die ASCII-Tabelle entworfen wurde.
In der folgenden Tabelle werden Standardzeichentypen mit ihren Speichergrößen und -zwecken aufgeführt.
Die Zeichen werden durch den Zeichentyp dargestellt, der nur 256 verschiedene Werte enthalten kann. Wenn Sie mit dem Zeichentyp aus anderen Sprachen vertraut sind, wissen Sie möglicherweise bereits, dass er nicht groß genug ist, um die Symbole vieler Schriftsysteme zu unterstützen.
Art | Speichergröße | Zweck |
---|---|---|
verkohlen | 1 Byte | UTF-8-Codeeinheit |
wchar | 2 Bytes | UTF-16-Codeeinheit |
dchar | 4 Bytes | UTF-32-Codeeinheit und Unicode-Codepunkt |
Einige nützliche Zeichenfunktionen sind unten aufgeführt -
isLower - Bestimmt, ob ein Kleinbuchstabe?
isUpper - Bestimmt, ob ein Großbuchstabe?
isAlpha - Bestimmt, ob ein alphanumerisches Unicode-Zeichen (im Allgemeinen ein Buchstabe oder eine Ziffer) vorliegt?
isWhite - Bestimmt, ob ein Leerzeichen?
toLower - Es wird der Kleinbuchstabe des angegebenen Zeichens erzeugt.
toUpper - Es wird der Großbuchstabe des angegebenen Zeichens erzeugt.
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('ı'));
}
Wenn der obige Code kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:
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
Zeichen in D lesen
Wir können Zeichen mit readf lesen, wie unten gezeigt.
readf(" %s", &letter);
Da die D-Programmierung Unicode unterstützt, müssen wir zum Lesen von Unicode-Zeichen zweimal lesen und zweimal schreiben, um das erwartete Ergebnis zu erhalten. Dies funktioniert auf dem Online-Compiler nicht. Das Beispiel ist unten gezeigt.
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);
}
Wenn der obige Code kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:
Please enter a letter: ğ
The letter that has been read: ğ