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

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
048
149
250
351
452
553
654
755
856
957
:58
;59
<60
=61
>62
?63
@64
A65
B66
C67
D68
E69
F70
G71
H72
I73
J74
K75
L76
M77
N78
O79
P80
Q81
R82
S83
T84
U85
V86
W87
X88
Y89
Z90
[91
\92
]93
^94
_95
`96
a97
b98
c99
d100
e101
f102
g103
h104
i105
j106
k107
l108
m109
n110
o111
p112
q113
r114
s115
t116
u117
v118
w119
x120
y121
z122
{123
|124
}125
~126

总结

ASCII 值是字符在计算机中的数字表示形式。通过 C 语言,可以轻松实现字符与 ASCII 值之间的转换,以及基于 ASCII 值的字符操作(如大小写转换、字符类型判断等)。掌握 ASCII 值的应用是理解字符处理的基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值