🔧Toolify

ASCII字符表 — 十进制·十六进制·二进制·八进制

浏览全部128个ASCII码(0–127)的十进制、十六进制、八进制和二进制表示。控制字符(0–31、127)高亮显示,并标注标准缩写和全称。可筛选仅显示可打印字符或控制码,支持按十进制数、hex值或字符搜索。

十进制Hex字符说明
00x00NULNUL — Null
10x01SOHSOH — Start of Heading
20x02STXSTX — Start of Text
30x03ETXETX — End of Text
40x04EOTEOT — End of Transmission
50x05ENQENQ — Enquiry
60x06ACKACK — Acknowledge
70x07BELBEL — Bell
80x08BSBS — Backspace
90x09HTHT — Horizontal Tab
100x0ALFLF — Line Feed
110x0BVTVT — Vertical Tab
120x0CFFFF — Form Feed
130x0DCRCR — Carriage Return
140x0ESOSO — Shift Out
150x0FSISI — Shift In
160x10DLEDLE — Data Link Escape
170x11DC1DC1 — Device Control 1 (XON)
180x12DC2DC2 — Device Control 2
190x13DC3DC3 — Device Control 3 (XOFF)
200x14DC4DC4 — Device Control 4
210x15NAKNAK — Negative Acknowledge
220x16SYNSYN — Synchronous Idle
230x17ETBETB — End of Transmission Block
240x18CANCAN — Cancel
250x19EMEM — End of Medium
260x1ASUBSUB — Substitute
270x1BESCESC — Escape
280x1CFSFS — File Separator
290x1DGSGS — Group Separator
300x1ERSRS — Record Separator
310x1FUSUS — Unit Separator
320x20 SP — Space
330x21!
340x22"
350x23#
360x24$
370x25%
380x26&
390x27'
400x28(
410x29)
420x2A*
430x2B+
440x2C,
450x2D-
460x2E.
470x2F/
480x300
490x311
500x322
510x333
520x344
530x355
540x366
550x377
560x388
570x399
580x3A:
590x3B;
600x3C<
610x3D=
620x3E>
630x3F?
640x40@
650x41A
660x42B
670x43C
680x44D
690x45E
700x46F
710x47G
720x48H
730x49I
740x4AJ
750x4BK
760x4CL
770x4DM
780x4EN
790x4FO
800x50P
810x51Q
820x52R
830x53S
840x54T
850x55U
860x56V
870x57W
880x58X
890x59Y
900x5AZ
910x5B[
920x5C\
930x5D]
940x5E^
950x5F_
960x60`
970x61a
980x62b
990x63c
1000x64d
1010x65e
1020x66f
1030x67g
1040x68h
1050x69i
1060x6Aj
1070x6Bk
1080x6Cl
1090x6Dm
1100x6En
1110x6Fo
1120x70p
1130x71q
1140x72r
1150x73s
1160x74t
1170x75u
1180x76v
1190x77w
1200x78x
1210x79y
1220x7Az
1230x7B{
1240x7C|
1250x7D}
1260x7E~
1270x7FDELDEL — Delete

正在显示128个ASCII码中的 128 个

工作原理

什么是ASCII?

ASCII(American Standard Code for Information Interchange,美国信息交换标准码)是一种于1963年首次发布的字符编码标准。它定义了128个字符:33个不可打印控制字符(编码0–31和127)和95个可打印字符(编码32–126),包括英文大小写字母、数字0–9以及常用标点符号。ASCII成为几乎所有现代文本编码的基础,包括UTF-8——后者与ASCII在前128个码点上保持向后兼容。

每个ASCII字符被赋予一个7位整数值,这也是该表止于127(2⁷ − 1)的原因。在8位字节中存储时,标准ASCII的最高位通常为0。扩展ASCII范围(128–255)并未由原始规范标准化,因代码页而异——ISO 8859-1、Windows-1252等编码分别为字节的高位半段定义了不同的字符集。

控制字符(0–31和127)

前32个ASCII码和第127号码是继承自电传打字机惯例的不可打印控制字符。大多数在现代计算中已经过时,但仍有几个保持重要地位:第9号(HT,水平制表符)、第10号(LF,换行符,即Unix/Linux的换行)、第13号(CR,回车符,在Windows行尾中以CR+LF形式使用)、第27号(ESC,逃逸符,用于终端转义序列)以及第127号(DEL)。这些字符不以可见字形渲染。

在类Unix系统中,可在终端通过按住Ctrl并按下对应字母来生成控制字符:Ctrl+A = SOH (1)、Ctrl+C = ETX (3,发送中断信号)、Ctrl+D = EOT (4,表示输入结束)、Ctrl+J = LF (10)、Ctrl+M = CR (13)、Ctrl+Z = SUB (26,在Unix中挂起进程)。理解这些码对于底层I/O、终端控制序列及网络协议实现至关重要。

ASCII在编程和Web开发中的应用

在JavaScript中,可使用charCodeAt(0)获取字符的ASCII码:'A'.charCodeAt(0)返回65。反向转换使用String.fromCharCode(65)可得到'A'。在Python中,ord('A')返回65,chr(65)返回'A'。在C语言中,char值为整数,可直接用于算术运算:'A' + 1等于'B'。

ASCII值是许多常见编程模式的基础。大写字母与小写字母之间的差值始终为32:'a'(97)= 'A'(65)+ 32。数字0–9对应编码48–57,因此将数字字符的ASCII值减去48即可得到其数值。URL编码将不安全字符表示为%XX(XX为十六进制ASCII码),因此本表对调试URL编码字符串和HTTP头部不可或缺。

常见问题

Enter键/换行的ASCII码是多少?

换行符(LF)的ASCII码为10(0x0A)。在Unix/Linux/macOS中,换行仅用LF表示。在Windows中,换行用CR+LF(第13和10号码,即0x0D 0x0A)表示。回车符的编码为13(0x0D,CR)。编写跨平台文本处理代码时,请务必同时处理LF和CR+LF两种行尾格式。

空格字符的ASCII码是多少?

空格字符的ASCII码为32(0x20,SP),是ASCII中第一个可打印字符。不间断空格(HTML中用&nbsp;表示)不属于标准7位ASCII——其编码在ISO 8859-1中为160(0xA0),在UTF-8中编码为0xC2 0xA0(两个字节)。

ASCII、UTF-8和Unicode有什么区别?

ASCII用7位码定义了128个字符。Unicode是定义了14万余个字符的通用标准,码点最高至U+10FFFF。UTF-8是Unicode的可变长编码:将ASCII字符(0–127)编码为单字节,从而与ASCII向后兼容。127以上的字符在UTF-8中需要2至4个字节。现代文本系统使用UTF-8或UTF-16,但ASCII在协议头、文件格式和遗留系统中仍至关重要。

在JavaScript中如何获取字符的ASCII码?

使用charCodeAt(0):'A'.charCodeAt(0)返回65。对于超过65535的Unicode码点,请使用codePointAt(0)。将码值转回字符:String.fromCharCode(65)返回'A'。完整Unicode支持:String.fromCodePoint(128512)返回😀表情符号。

ASCII码0(NUL)有什么作用?

NUL(编码0)是空字符。在C语言及许多其他语言中用作字符串终止符——字符串'Hello'在内存中存储为字节序列72、101、108、108、111、0。在数据库和文件格式中,NUL可作为字段分隔符或填充字节出现。大多数文本编辑器和终端中,NUL不可见且被忽略,但将二进制文件作为文本读取时可能引发问题。

Escape字符(ASCII 27)是什么?

ESC(编码27,0x1B)是转义字符。它是ANSI/VT100转义序列的起始符,用于控制终端颜色和光标移动。例如,序列ESC[31m将终端文本颜色改为红色。在许多应用程序中,按下Escape键会发送此字符。它也用于各种数据格式和通信协议中。

为什么大写字母A的ASCII码是65,小写a是97?

ASCII表的设计使大写字母(A=65、B=66、…、Z=90)与小写字母(a=97、b=98、…、z=122)恰好相差32。这样只需一次加减运算即可在大小写之间转换。ASCII中大写转小写:加32(或将第5位置1);小写转大写:减32(或将第5位清0)。这就是C语言中位运算大小写转换有效的原因:char lower = upper | 0x20。

CR、LF和CRLF有什么区别?

CR(Carriage Return,编码13)和LF(Line Feed,编码10)源自打字机和电传打字机的惯例。CR将打印头移至行首,LF前进至下一行。Unix/Linux仅使用LF作为换行符。Windows使用CR+LF(两者组合)。经典Mac OS(OS X之前)仅使用CR。大多数现代解析器均能处理这三种格式,但在源文件中混用行尾格式会导致版本控制diff和某些文本处理器出现问题。

相关工具

最后更新:

看看 AI 提示词 →