ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种字符编码标准,用于表示文本字符。ASCII 使用 7 位二进制数(0-127)来表示字符,包括英文字母、数字、标点符号以及一些控制字符。
ASCII表的结构
ASCII表分为两部分:
-
可打印字符(32-126):包括字母、数字、标点符号等。
-
控制字符(0-31和127):用于控制设备(如打印机、终端)的行为,例如换行、退格等。
ASCII值的分类
-
控制字符(0-31和127)
-
这些字符不可打印,主要用于控制设备或通信协议。
-
例如:
-
0
:空字符(NULL) -
7
:响铃(BEL) -
10
:换行(LF) -
13
:回车(CR) -
27
:转义(ESC)
-
-
-
可打印字符(32-126)
-
包括空格、数字、字母、标点符号等。
-
例如:
-
32
:空格(Space) -
48-57
:数字0-9
-
65-90
:大写字母A-Z
-
97-122
:小写字母a-z
-
33
:!
-
64
:@
-
-
字符及其对应的ASCII值,见尾页:
ASCII的特点
-
7位编码:ASCII使用7位二进制数,因此总共有128个字符。
-
扩展ASCII:在ASCII基础上,扩展为8位(256个字符),称为扩展ASCII,用于支持更多符号和语言。
-
兼容性:ASCII是许多其他编码(如UTF-8)的基础,因此具有广泛的兼容性。
ASCII的应用
-
文本传输:ASCII广泛用于文本文件、电子邮件和网络协议(如HTTP)。
-
编程:在编程中,ASCII值常用于字符与数字之间的转换。
-
设备控制:控制字符用于控制硬件设备(如打印机、终端)。
示例:字符与ASCII值的转换
-
字符转ASCII值:
-
'A'
的ASCII值是65
。 -
'a'
的ASCII值是97
。
-
-
ASCII值转字符:
-
65
对应的字符是'A'
。 -
97
对应的字符是'a'
。
-
C 语言中的 ASCII 应用
在 C 语言中,字符和 ASCII 值可以相互转换。字符在内存中存储的是其对应的 ASCII 值。
示例代码 1:打印字符的 ASCII 值
#include <stdio.h>
int main() {
char ch = 'A';
printf("字符 '%c' 的 ASCII 值是 %d\n", ch, ch);
return 0;
}
输出:
字符 'A' 的 ASCII 值是 65
示例代码 2:将 ASCII 值转换为字符
#include <stdio.h>
int main() {
int ascii_value = 97;
printf("ASCII 值 %d 对应的字符是 '%c'\n", ascii_value, ascii_value);
return 0;
}
输出:
ASCII 值 97 对应的字符是 'a'
示例代码 3:大小写字母转换
利用 ASCII 值中大写字母和小写字母的差值(32),可以实现大小写字母的转换。
#include <stdio.h>
int main() {
char ch = 'B';
// 大写转小写
char lower_case = ch + 32;
printf("大写字母 '%c' 转换为小写字母是 '%c'\n", ch, lower_case);
// 小写转大写
char upper_case = lower_case - 32;
printf("小写字母 '%c' 转换为大写字母是 '%c'\n", lower_case, upper_case);
return 0;
}
输出:
大写字母 'B' 转换为小写字母是 'b'
小写字母 'b' 转换为大写字母是 'B'
示例代码 4:判断字符类型
通过 ASCII 值可以判断字符的类型(数字、字母、标点符号等)。
#include <stdio.h>
int main() {
char ch = '7';
if (ch >= '0' && ch <= '9') {
printf("'%c' 是一个数字\n", ch);
} else if (ch >= 'A' && ch <= 'Z') {
printf("'%c' 是一个大写字母\n", ch);
} else if (ch >= 'a' && ch <= 'z') {
printf("'%c' 是一个小写字母\n", ch);
} else {
printf("'%c' 是其他字符\n", ch);
}
return 0;
}
输出:
'7' 是一个数字
示例代码 5:字符转整型
通过 ASCII 值可以用x - '0'
将字符 x
转换为对应的整数值,具体如下文:
null
https://blog.csdn.net/kivenx/article/details/146388071?fromshare=blogdetail&sharetype=blogdetail&sharerId=146388071&sharerefer=PC&sharesource=kivenx&sharefrom=from_link
字符及其对应的ASCII值:
字符 | ASCII值 |
---|---|
空格 | 32 |
! | 33 |
" | 34 |
# | 35 |
$ | 36 |
% | 37 |
& | 38 |
' | 39 |
( | 40 |
) | 41 |
* | 42 |
+ | 43 |
, | 44 |
- | 45 |
. | 46 |
/ | 47 |
0 | 48 |
1 | 49 |
2 | 50 |
3 | 51 |
4 | 52 |
5 | 53 |
6 | 54 |
7 | 55 |
8 | 56 |
9 | 57 |
: | 58 |
; | 59 |
< | 60 |
= | 61 |
> | 62 |
? | 63 |
@ | 64 |
A | 65 |
B | 66 |
C | 67 |
D | 68 |
E | 69 |
F | 70 |
G | 71 |
H | 72 |
I | 73 |
J | 74 |
K | 75 |
L | 76 |
M | 77 |
N | 78 |
O | 79 |
P | 80 |
Q | 81 |
R | 82 |
S | 83 |
T | 84 |
U | 85 |
V | 86 |
W | 87 |
X | 88 |
Y | 89 |
Z | 90 |
[ | 91 |
\ | 92 |
] | 93 |
^ | 94 |
_ | 95 |
` | 96 |
a | 97 |
b | 98 |
c | 99 |
d | 100 |
e | 101 |
f | 102 |
g | 103 |
h | 104 |
i | 105 |
j | 106 |
k | 107 |
l | 108 |
m | 109 |
n | 110 |
o | 111 |
p | 112 |
q | 113 |
r | 114 |
s | 115 |
t | 116 |
u | 117 |
v | 118 |
w | 119 |
x | 120 |
y | 121 |
z | 122 |
{ | 123 |
| | 124 |
} | 125 |
~ | 126 |
总结
ASCII 值是字符在计算机中的数字表示形式。通过 C 语言,可以轻松实现字符与 ASCII 值之间的转换,以及基于 ASCII 值的字符操作(如大小写转换、字符类型判断等)。掌握 ASCII 值的应用是理解字符处理的基础。