ASCII字符编码表简介

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种字符编码标准,用于表示文本字符。ASCII 使用 7 位二进制数(0-127)来表示字符,包括英文字母、数字、标点符号以及一些控制字符。

ASCII表的结构

ASCII表分为两部分:

  1. 可打印字符(32-126):包括字母、数字、标点符号等。

  2. 控制字符(0-31和127):用于控制设备(如打印机、终端)的行为,例如换行、退格等。


ASCII值的分类

  1. 控制字符(0-31和127)

    • 这些字符不可打印,主要用于控制设备或通信协议。

    • 例如:

      • 0:空字符(NULL)

      • 7:响铃(BEL)

      • 10:换行(LF)

      • 13:回车(CR)

      • 27:转义(ESC)

  2. 可打印字符(32-126)

    • 包括空格、数字、字母、标点符号等。

    • 例如:

      • 32:空格(Space)

      • 48-57:数字 0-9

      • 65-90:大写字母 A-Z

      • 97-122:小写字母 a-z

      • 33!

      • 64@


字符及其对应的ASCII值,见尾页:


ASCII的特点

  1. 7位编码:ASCII使用7位二进制数,因此总共有128个字符。

  2. 扩展ASCII:在ASCII基础上,扩展为8位(256个字符),称为扩展ASCII,用于支持更多符号和语言。

  3. 兼容性:ASCII是许多其他编码(如UTF-8)的基础,因此具有广泛的兼容性。


ASCII的应用

  1. 文本传输:ASCII广泛用于文本文件、电子邮件和网络协议(如HTTP)。

  2. 编程:在编程中,ASCII值常用于字符与数字之间的转换。

  3. 设备控制:控制字符用于控制硬件设备(如打印机、终端)。


示例:字符与ASCII值的转换

  • 字符转ASCII值

    • 'A' 的ASCII值是 65

    • 'a' 的ASCII值是 97

  • ASCII值转字符

    • 65 对应的字符是 'A'

    • 97 对应的字符是 'a'


C 语言中的 ASCII 应用

在 C 语言中,字符和 ASCII 值可以相互转换。字符在内存中存储的是其对应的 ASCII 值。

示例代码 1:打印字符的 ASCII 值
#include 

int main() {
    char ch = 'A';
    printf("字符 '%c' 的 ASCII 值是 %d\n", ch, ch);
    return 0;
}

输出:

字符 'A' 的 ASCII 值是 65
示例代码 2:将 ASCII 值转换为字符
#include 

int main() {
    int ascii_value = 97;
    printf("ASCII 值 %d 对应的字符是 '%c'\n", ascii_value, ascii_value);
    return 0;
}

输出:

ASCII 值 97 对应的字符是 'a'
示例代码 3:大小写字母转换

利用 ASCII 值中大写字母和小写字母的差值(32),可以实现大小写字母的转换。

#include 

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 

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 转换为对应的整数值,具体如下文:

nullhttps://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 值的应用是理解字符处理的基础。

你可能感兴趣的:(C语言,c语言,算法,开发语言,单片机,stm32)