Appearance
L2_04 ASCII 编码
一、ASCII 编码概述
1.1 定义
ASCII(American Standard Code for Information Interchange)是美国信息交换标准代码。
1.2 特点
- 使用7位二进制数表示字符
- 共128个字符(0-127)
- 包含控制字符和可打印字符
二、常见字符的 ASCII 编码
2.1 数字字符
| 字符 | ASCII值 | 字符 | ASCII值 |
|---|---|---|---|
| '0' | 48 | '5' | 53 |
| '1' | 49 | '6' | 54 |
| '2' | 50 | '7' | 55 |
| '3' | 51 | '8' | 56 |
| '4' | 52 | '9' | 57 |
2.2 大写字母
| 字符 | ASCII值 | 字符 | ASCII值 |
|---|---|---|---|
| 'A' | 65 | 'N' | 78 |
| 'B' | 66 | 'O' | 79 |
| ... | ... | ... | ... |
| 'Z' | 90 |
2.3 小写字母
| 字符 | ASCII值 | 字符 | ASCII值 |
|---|---|---|---|
| 'a' | 97 | 'n' | 110 |
| 'b' | 98 | 'o' | 111 |
| ... | ... | ... | ... |
| 'z' | 122 |
2.4 特殊字符
| 字符 | ASCII值 | 字符 | ASCII值 |
|---|---|---|---|
| ' ' | 32 | '!' | 33 |
| '@' | 64 | '#' | 35 |
| '$' | 36 | '%' | 37 |
三、字符编码之间的相互转换
3.1 字符转 ASCII 值
cpp
char c = 'A';
int ascii = (int)c; // ascii = 653.2 ASCII 值转字符
cpp
int ascii = 65;
char c = (char)ascii; // c = 'A'3.3 大小写转换
cpp
char lower = 'a';
char upper = lower - 32; // upper = 'A'
char upper2 = 'Z';
char lower2 = upper2 + 32; // lower2 = 'z'3.4 判断字符类型
cpp
char c = '5';
bool isDigit = (c >= '0' && c <= '9'); // true
bool isUpper = (c >= 'A' && c <= 'Z'); // false
bool isLower = (c >= 'a' && c <= 'z'); // false四、扩展 ASCII 码
4.1 定义
- 使用8位二进制数
- 共256个字符(0-255)
- 包含特殊符号和非英语字符
4.2 用途
- 支持更多字符集
- 用于显示特殊符号和图形字符
五、示例程序
5.1 输出 ASCII 码表
cpp
#include <iostream>
using namespace std;
int main() {
for (int i = 32; i < 128; i++) {
cout << (char)i << " : " << i << endl;
}
return 0;
}5.2 字符统计
cpp
#include <iostream>
using namespace std;
int main() {
char c;
int digits = 0, letters = 0;
while (cin >> c) {
if (c >= '0' && c <= '9') digits++;
else if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) letters++;
}
cout << "数字: " << digits << endl;
cout << "字母: " << letters << endl;
return 0;
}