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