字符(Characters)

优质
小牛编辑
128浏览
2023-12-01

字符是字符串的构建块。 书写系统的任何符号都称为字符:字母,数字,标点符号,空格字符等字母。令人困惑的是,字符的构建块本身也称为字符。

小写字母a的整数值是97,数字1的整数值是49.这些值仅在设计ASCII表时由约定分配。

下表提到了标准字符类型及其存储大小和用途。

字符由char类型表示,它只能包含256个不同的值。 如果您熟悉其他语言的char类型,您可能已经知道它不足以支持许多书写系统的符号。

类型存储大小目的
char1个字节UTF-8代码单元
wchar2个字节UTF-16代码单元
dchar4字节UTF-32代码单元和Unicode代码点

下面列出了一些有用的字符函数 -

  • 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('\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('ı')); 
}

编译并执行上述代码时,会产生以下结果 -

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中的人物

我们可以使用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: ğ