- D 编程基础
- D 编程 - 首页
- D 编程 - 概述
- D 编程 - 环境
- D 编程 - 基本语法
- D 编程 - 变量
- D 编程 - 数据类型
- D 编程 - 枚举
- D 编程 - 字面量
- D 编程 - 运算符
- D 编程 - 循环
- D 编程 - 条件语句
- D 编程 - 函数
- D 编程 - 字符
- D 编程 - 字符串
- D 编程 - 数组
- D 编程 - 关联数组
- D 编程 - 指针
- D 编程 - 元组
- D 编程 - 结构体
- D 编程 - 联合体
- D 编程 - 范围
- D 编程 - 别名
- D 编程 - 混合宏
- D 编程 - 模块
- D 编程 - 模板
- D 编程 - 不可变对象
- D 编程 - 文件 I/O
- D 编程 - 并发
- D 编程 - 异常处理
- D 编程 - 合约式编程
- D - 条件编译
- D 编程 - 面向对象
- D 编程 - 类与对象
- D 编程 - 继承
- D 编程 - 重载
- D 编程 - 封装
- D 编程 - 接口
- D 编程 - 抽象类
- D 编程 - 有用资源
- D 编程 - 快速指南
- D 编程 - 有用资源
- D 编程 - 讨论
D 编程 - 字符
字符是字符串的基本组成单元。任何书写系统中的符号都被称为字符:字母表中的字母、数字、标点符号、空格字符等。令人困惑的是,字符本身的基本组成单元也被称为字符。
小写字母 a 的整数值为 97,数字 1 的整数值为 49。这些值仅仅是在设计 ASCII 表时通过约定分配的。
下表列出了标准字符类型及其存储大小和用途。
字符由 char 类型表示,它只能容纳 256 个不同的值。如果您熟悉其他语言中的 char 类型,您可能已经知道它不足以支持许多书写系统的符号。
类型 | 存储大小 | 用途 |
---|---|---|
char | 1 字节 | UTF-8 代码单元 |
wchar | 2 字节 | UTF-16 代码单元 |
dchar | 4 字节 | 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: ğ
广告