附录C ASCII字符集
本章概述
本附录提供ASCII字符集的完整对照表,包括十进制和十六进制编码,以及常用的字符转换技巧。
ASCII码表(0-127)
| 十进制 | 十六进制 | 字符 | 说明 | 十进制 | 十六进制 | 字符 | 说明 |
|---|---|---|---|---|---|---|---|
| 0 | 0x00 | NUL | 空字符 | 32 | 0x20 | 空格 | |
| 1 | 0x01 | SOH | 标题开始 | 33 | 0x21 | ! | 感叹号 |
| 2 | 0x02 | STX | 正文开始 | 34 | 0x22 | " | 双引号 |
| 3 | 0x03 | ETX | 正文结束 | 35 | 0x23 | # | 井号 |
| 4 | 0x04 | EOT | 传输结束 | 36 | 0x24 | $ | 美元符号 |
| 5 | 0x05 | ENQ | 查询 | 37 | 0x25 | % | 百分号 |
| 6 | 0x06 | ACK | 确认 | 38 | 0x26 | & | 和号 |
| 7 | 0x07 | BEL | 响铃 | 39 | 0x27 | ' | 单引号 |
| 8 | 0x08 | BS | 退格 | 40 | 0x28 | ( | 左括号 |
| 9 | 0x09 | HT | 水平制表 | 41 | 0x29 | ) | 右括号 |
| 10 | 0x0A | LF | 换行 | 42 | 0x2A | * | 星号 |
| 11 | 0x0B | VT | 垂直制表 | 43 | 0x2B | + | 加号 |
| 12 | 0x0C | FF | 换页 | 44 | 0x2C | , | 逗号 |
| 13 | 0x0D | CR | 回车 | 45 | 0x2D | - | 减号 |
| 14 | 0x0E | SO | 移出 | 46 | 0x2E | . | 句点 |
| 15 | 0x0F | SI | 移入 | 47 | 0x2F | / | 斜杠 |
| 16-31 | 0x10-0x1F | 控制字符 | 48-57 | 0x30-0x39 | 0-9 | 数字 | |
| 58 | 0x3A | : | 冒号 | ||||
| 59 | 0x3B | ; | 分号 | ||||
| 60 | 0x3C | < | 小于号 | ||||
| 61 | 0x3D | = | 等号 | ||||
| 62 | 0x3E | > | 大于号 | ||||
| 63 | 0x3F | ? | 问号 | ||||
| 64 | 0x40 | @ | 艾特符号 | ||||
| 65-90 | 0x41-0x5A | A-Z | 大写字母 | ||||
| 91 | 0x5B | [ | 左方括号 | ||||
| 92 | 0x5C | \ | 反斜杠 | ||||
| 93 | 0x5D | ] | 右方括号 | ||||
| 94 | 0x5E | ^ | 脱字符 | ||||
| 95 | 0x5F | _ | 下划线 | ||||
| 96 | 0x60 | ` | 反引号 | ||||
| 97-122 | 0x61-0x7A | a-z | 小写字母 |
常用ASCII码值
| 字符 | 十进制 | 十六进制 | 字符 | 十进制 | 十六进制 |
|---|---|---|---|---|---|
| '0' | 48 | 0x30 | '9' | 57 | 0x39 |
| 'A' | 65 | 0x41 | 'Z' | 90 | 0x5A |
| 'a' | 97 | 0x61 | 'z' | 122 | 0x7A |
| 空格 | 32 | 0x20 | 换行 | 10 | 0x0A |
| 回车 | 13 | 0x0D | 制表符 | 9 | 0x09 |
字符转换技巧
cpp
// 大小写转换
char toUpper(char c) { return c - 32; } // 或 toupper(c)
char toLower(char c) { return c + 32; } // 或 tolower(c)
// 字符和数字转换
int charToInt(char c) { return c - '0'; }
char intToChar(int n) { return n + '0'; }
// 判断字符类型
bool isDigit(char c) { return c >= '0' && c <= '9'; }
bool isUpper(char c) { return c >= 'A' && c <= 'Z'; }
bool isLower(char c) { return c >= 'a' && c <= 'z'; }