什么是 ASCII 码?常见的 ASCII 码表(十进制、十六进制、字符对照)

boyanx2个月前技术教程11


在今天的计算机世界里,我们随时都在与“字符编码”打交道。写代码、发消息、传文件……背后都有一套规则在运作。
而这一切的起点,正是 ASCII 码(American Standard Code for Information Interchange,美国信息交换标准代码)
它是计算机历史上最早、最重要的编码方案之一,可以说是所有现代字符编码的“基石”。


什么是 ASCII 码?

ASCII 诞生于 1963 年,1967 年定稿,最初是为了让计算机、打印机、电传机等设备能够“说同一种语言”。

  • 范围:0 ~ 127,共 128 个字符。
  • 存储方式:每个字符用 1 字节表示,但只使用低 7 位(高 1 位为 0)。
  • 作用:规定了字母、数字、符号以及一些控制字符与二进制代码之间的对应关系。

举例:

  • 字母 A 的 ASCII 码是 65(二进制 01000001)。
  • 数字 0 的 ASCII 码是 48
  • 空格 的 ASCII 码是 32

ASCII 的分类

  1. 控制字符(0–31,127)
  2. 不可打印,用来控制设备。
  3. 如:\n(换行,10)、\t(制表符,9)、DEL(删除,127)。
  4. 可打印字符(32–126)
  5. 包括字母、数字、标点符号。
  6. 如:空格(32)、A–Z(65–90)、a–z(97–122)。

ASCII 码完整对照表(0–127)

十进制

十六进制

二进制

字符

描述

0

0x00

00000000

NUL

空字符

1

0x01

00000001

SOH

标题开始

2

0x02

00000010

STX

正文开始

3

0x03

00000011

ETX

正文结束

4

0x04

00000100

EOT

传输结束

5

0x05

00000101

ENQ

请求

6

0x06

00000110

ACK

确认

7

0x07

00000111

BEL

响铃

8

0x08

00001000

BS

退格

9

0x09

00001001

TAB

制表符

10

0x0A

00001010

LF

换行

11

0x0B

00001011

VT

垂直制表符

12

0x0C

00001100

FF

换页符

13

0x0D

00001101

CR

回车

14

0x0E

00001110

SO

移出

15

0x0F

00001111

SI

移入

16

0x10

00010000

DLE

数据链路转义

17

0x11

00010001

DC1

设备控制1

18

0x12

00010010

DC2

设备控制2

19

0x13

00010011

DC3

设备控制3

20

0x14

00010100

DC4

设备控制4

21

0x15

00010101

NAK

拒绝

22

0x16

00010110

SYN

同步空闲

23

0x17

00010111

ETB

传输块结束

24

0x18

00011000

CAN

取消

25

0x19

00011001

EM

介质结束

26

0x1A

00011010

SUB

替补

27

0x1B

00011011

ESC

转义

28

0x1C

00011100

FS

文件分隔符

29

0x1D

00011101

GS

分组符

30

0x1E

00011110

RS

记录分隔符

31

0x1F

00011111

US

单元分隔符

32

0x20

00100000

(space)

空格

33

0x21

00100001

!

感叹号

34

0x22

00100010

"

双引号

35

0x23

00100011

#

井号

36

0x24

00100100

$

美元符

37

0x25

00100101

%

百分号

38

0x26

00100110

&

和号

39

0x27

00100111

'

单引号

40

0x28

00101000

(

左括号

41

0x29

00101001

)

右括号

42

0x2A

00101010

*

星号

43

0x2B

00101011

+

加号

44

0x2C

00101100

,

逗号

45

0x2D

00101101

-

减号

46

0x2E

00101110

.

点号

47

0x2F

00101111

/

斜杠

48

0x30

00110000

0

数字0

49

0x31

00110001

1

数字1

50

0x32

00110010

2

数字2

51

0x33

00110011

3

数字3

52

0x34

00110100

4

数字4

53

0x35

00110101

5

数字5

54

0x36

00110110

6

数字6

55

0x37

00110111

7

数字7

56

0x38

00111000

8

数字8

57

0x39

00111001

9

数字9

58

0x3A

00111010

:

冒号

59

0x3B

00111011

;

分号

60

0x3C

00111100

<

小于号

61

0x3D

00111101

=

等号

62

0x3E

00111110

>

大于号

63

0x3F

00111111

?

问号

64

0x40

01000000

@

at符号

65

0x41

01000001

A

大写A

66

0x42

01000010

B

大写B

67

0x43

01000011

C

大写C

68

0x44

01000100

D

大写D

69

0x45

01000101

E

大写E

70

0x46

01000110

F

大写F

71

0x47

01000111

G

大写G

72

0x48

01001000

H

大写H

73

0x49

01001001

I

大写I

74

0x4A

01001010

J

大写J

75

0x4B

01001011

K

大写K

76

0x4C

01001100

L

大写L

77

0x4D

01001101

M

大写M

78

0x4E

01001110

N

大写N

79

0x4F

01001111

O

大写O

80

0x50

01010000

P

大写P

81

0x51

01010001

Q

大写Q

82

0x52

01010010

R

大写R

83

0x53

01010011

S

大写S

84

0x54

01010100

T

大写T

85

0x55

01010101

U

大写U

86

0x56

01010110

V

大写V

87

0x57

01010111

W

大写W

88

0x58

01011000

X

大写X

89

0x59

01011001

Y

大写Y

90

0x5A

01011010

Z

大写Z

91

0x5B

01011011

[

左中括号

92

0x5C

01011100

\

反斜杠

93

0x5D

01011101

]

右中括号

94

0x5E

01011110

^

插入号

95

0x5F

01011111

_

下划线

96

0x60

01100000

`

重音符

97

0x61

01100001

a

小写a

98

0x62

01100010

b

小写b

99

0x63

01100011

c

小写c

100

0x64

01100100

d

小写d

101

0x65

01100101

e

小写e

102

0x66

01100110

f

小写f

103

0x67

01100111

g

小写g

104

0x68

01101000

h

小写h

105

0x69

01101001

i

小写i

106

0x6A

01101010

j

小写j

107

0x6B

01101011

k

小写k

108

0x6C

01101100

l

小写l

109

0x6D

01101101

m

小写m

110

0x6E

01101110

n

小写n

111

0x6F

01101111

o

小写o

112

0x70

01110000

p

小写p

113

0x71

01110001

q

小写q

114

0x72

01110010

r

小写r

115

0x73

01110011

s

小写s

116

0x74

01110100

t

小写t

117

0x75

01110101

u

小写u

118

0x76

01110110

v

小写v

119

0x77

01110111

w

小写w

120

0x78

01111000

x

小写x

121

0x79

01111001

y

小写y

122

0x7A

01111010

z

小写z

123

0x7B

01111011

{

左大括号

124

0x7C

01111100

|

竖线

125

0x7D

01111101

}

右大括号

126

0x7E

01111110

~

波浪号

127

0x7F

01111111

DEL

删除


这张表已经覆盖了 标准 ASCII 的 0–127 所有字符。

ASCII 在编程和日常中的应用

  1. 换行与回车
  2. Windows:\r\n(CR+LF)
  3. Linux:\n(LF)
  4. macOS(旧版):\r(CR)
  5. 终端控制
  6. BEL (7) → 提示音
  7. ESC (27) → 终端颜色控制
  8. 协议与文件格式
  9. 早期的 HTTP、SMTP、FTP 等协议完全基于 ASCII。
  10. 文本文件 .txt 早期都是 ASCII 编码。

ASCII 的局限性

  • 只能表示 128 个字符,无法覆盖中文、日文、韩文等。
  • 后来发展出了:
    • 扩展 ASCII(256 字符,加入了西欧字符)
    • Unicode(全球统一编码标准)
    • UTF-8(Unicode 的实现方式,兼容 ASCII,现已成为主流)。

可以说,ASCII 是现代编码的“祖先”,而 UTF-8 则是它的继承者。


趣味冷知识

  • ASCII 可打印字符一共 95 个(32–126)。
  • DEL (127) 设计成“全 1”,是为了在打孔卡片上擦除数据。
  • BEL (7) 在终端上至今还能触发“嘀”的提示音。
  • 很多编程语言(C、Python、JavaScript)里,ord() 和 chr() 就是 ASCII 转换的直接体现。

总结

ASCII 码虽然简单,但它是计算机历史上最重要的编码方案之一。
它不仅奠定了现代字符编码的基础,还影响了操作系统、编程语言、网络协议的设计。

  • 想要真正理解计算机世界里的“字符”与“文本”,就必须先理解 ASCII。
  • 掌握它之后,再去学习 Unicode、UTF-8,就会轻松很多。

无论你是编程新手,还是在调试网络协议、处理底层数据,ASCII 码表都是你随时可以拿出来的工具

相关文章

如何编写高质量代码_高质量的代码具备哪些特征

对于开发人员来说,编写高质量的代码是有很重要的意义的,特别是在团队协作里。本篇博文从前端开发的角度,总结出编写高质量前端代码的一些经验。前端开发涉及的主要语言包括html,css,js等。这里主要针对...

JavaScript数组的简单排序_js 数组排序

JavaScript数组的简单排序前面的博客分两章分别讲解了数组对象的基本属性和方法,以及数组迭代方法的使用。今天我们再来讲一讲数组的排序问题。1.数组的sort()方法说到数组的排序,大家可能第一反...

工作10年,总结的20个高效开发的JS工具函数

在前端领域摸爬滚打了8年,从一个写 if/else 都心惊胆战的小白,到现在能从容应对各种复杂业务的老兵,我发现,真正拉开开发者之间效率差距的,除了经验和对框架的理解外,还有一个常常被忽略的“秘密武器...

第54节 错误处理及调试-Web前端开发之Javascript-零点程序-王唯

本内容是《Web前端开发之Javascript视频》的课件,请配合大师哥《Javascript》视频课程学习。错误处理对于web应用开发至关重要,任何javascript错误都有可能会导致网页无法使用...

Python/JS/GO/JAVA四语言同步学(第十四章_字符串字母大小写转换)

全网首发!(第十四章)PY/JS/GO/JAVA四语言字符串大小写转换参数宇宙(200例源码/同步学习/避坑指南)知识一锅端|打通任督二脉 多语言逆袭指南 单语言学习是伪命题!真正的高手早用「四语言...

一文搞懂JavaScript原型及原型链(附代码)

JavaScript 是一种基于原型的面向对象语言。虽然你经常会看到class关键字,但它的底层本质还是用作原型。在本文中,我们将了解 JavaScript 的原型性质,以及对象中的原型链。首先检查以...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。