ASCII码表
ASCII码表 (0-127)
十进制十六进制字符描述
000NUL空字符 (Null character)
101SOH标题开始 (Start of Heading)
202STX正文开始 (Start of Text)
303ETX正文结束 (End of Text)
404EOT传输结束 (End of Transmission)
505ENQ请求 (Enquiry)
606ACK确认 (Acknowledgment)
707BEL响铃 (Bell)
808BS退格 (Backspace)
909HT水平制表符 (Horizontal Tab)
100ALF换行 (Line Feed)
110BVT垂直制表符 (Vertical Tab)
120CFF换页 (Form Feed)
130DCR回车 (Carriage Return)
140ESO移出 (Shift Out)
150FSI移入 (Shift In)
1610DLE数据链路转义 (Data Link Escape)
1711DC1设备控制1 (Device Control 1)
1812DC2设备控制2 (Device Control 2)
1913DC3设备控制3 (Device Control 3)
2014DC4设备控制4 (Device Control 4)
2115NAK否定确认 (Negative Acknowledgment)
2216SYN同步空闲 (Synchronous Idle)
2317ETB传输块结束 (End of Transmission Block)
2418CAN取消 (Cancel)
2519EM媒介结束 (End of Medium)
261ASUB替换 (Substitute)
271BESC转义 (Escape)
281CFS文件分隔符 (File Separator)
291DGS组分隔符 (Group Separator)
301ERS记录分隔符 (Record Separator)
311FUS单元分隔符 (Unit Separator)
3220 空格 (Space)
3321!感叹号 (Exclamation mark)
3422"双引号 (Quotation mark)
3523#井号 (Number sign)
3624$美元符 (Dollar sign)
3725%百分号 (Percent sign)
3826&和号 (Ampersand)
3927'单引号 (Apostrophe)
4028(左括号 (Opening parenthesis)
4129)右括号 (Closing parenthesis)
422A*星号 (Asterisk)
432B+加号 (Plus sign)
442C,逗号 (Comma)
452D-连字符 (Hyphen-minus)
462E.句点 (Full stop)
472F/斜杠 (Slash)
ASCII控制字符 (0-31, 127)
十进制十六进制字符描述
000NUL空字符 (Null character)
101SOH标题开始 (Start of Heading)
202STX正文开始 (Start of Text)
303ETX正文结束 (End of Text)
404EOT传输结束 (End of Transmission)
505ENQ请求 (Enquiry)
606ACK确认 (Acknowledgment)
707BEL响铃 (Bell)
808BS退格 (Backspace)
909HT水平制表符 (Horizontal Tab)
100ALF换行 (Line Feed)
110BVT垂直制表符 (Vertical Tab)
120CFF换页 (Form Feed)
130DCR回车 (Carriage Return)
140ESO移出 (Shift Out)
150FSI移入 (Shift In)
1610DLE数据链路转义 (Data Link Escape)
1711DC1设备控制1 (Device Control 1)
1812DC2设备控制2 (Device Control 2)
1913DC3设备控制3 (Device Control 3)
2014DC4设备控制4 (Device Control 4)
2115NAK否定确认 (Negative Acknowledgment)
2216SYN同步空闲 (Synchronous Idle)
2317ETB传输块结束 (End of Transmission Block)
2418CAN取消 (Cancel)
2519EM媒介结束 (End of Medium)
261ASUB替换 (Substitute)
271BESC转义 (Escape)
281CFS文件分隔符 (File Separator)
291DGS组分隔符 (Group Separator)
301ERS记录分隔符 (Record Separator)
311FUS单元分隔符 (Unit Separator)
什么是ASCII码?

ASCII码简介

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统, 主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母, 数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。

ASCII码的历史

ASCII码于1963年由美国国家标准协会(ANSI)制定,最初是为了电传打字机设计的。1967年,ASCII码被修订,并在1968年被美国总统林登·约翰逊命令所有向联邦政府提供计算机设备的供应商必须使用ASCII码。 这一标准在1986年被ANSI更新为ANSI X3.4-1986,后来又被国际标准化组织(ISO)采纳为ISO 646国际标准。

ASCII码的结构

ASCII码表由以下几个部分组成:

  • 控制字符(0-31和127):这些字符用于控制设备(如打印机)或提供元信息。它们不是可打印字符。
  • 可打印字符(32-126):包括空格、标点符号、数字、大小写字母和一些特殊符号。

ASCII码的应用

计算机编程

在编程语言中,字符通常以ASCII码表示。程序员需要了解ASCII码,特别是在处理字符串、文件I/O和网络通信时。

数据通信

ASCII码是早期数据通信的基础,用于在不同系统之间传输文本信息。虽然现在已有更先进的编码方式(如UTF-8),但ASCII仍是其基础。

文本处理

在文本编辑和处理中,了解ASCII码有助于理解字符排序、比较和转换的原理。

ASCII码与Unicode的关系

Unicode是一种更现代、更全面的字符编码标准,旨在包含世界上所有书写系统的字符。Unicode的前128个字符(U+0000到U+007F)与ASCII码完全相同, 这确保了向后兼容性。UTF-8编码方式是目前最流行的Unicode实现,它对ASCII字符使用单字节编码,与ASCII码完全兼容。

常见ASCII码记忆技巧

  • 数字0-9的ASCII码值是48-57(十六进制30-39)
  • 大写字母A-Z的ASCII码值是65-90(十六进制41-5A)
  • 小写字母a-z的ASCII码值是97-122(十六进制61-7A)
  • 大写字母与其对应的小写字母ASCII码值相差32
  • 空格的ASCII码值是32(十六进制20)

ASCII码在网络安全中的应用

在网络安全领域,了解ASCII码对于识别和防御某些攻击非常重要。例如,URL编码攻击和跨站脚本攻击(XSS)通常涉及ASCII字符的特殊用法或转义。 安全专业人员需要了解ASCII码以识别可疑的字符序列和编码模式。

ASCII可打印字符 (32-126)
十进制十六进制字符描述
3220 空格 (Space)
3321!感叹号 (Exclamation mark)
3422"双引号 (Quotation mark)
3523#井号 (Number sign)
3624$美元符 (Dollar sign)
3725%百分号 (Percent sign)
3826&和号 (Ampersand)
3927'单引号 (Apostrophe)
4028(左括号 (Opening parenthesis)
4129)右括号 (Closing parenthesis)
422A*星号 (Asterisk)
432B+加号 (Plus sign)
442C,逗号 (Comma)
452D-连字符 (Hyphen-minus)
462E.句点 (Full stop)
472F/斜杠 (Slash)
ASCII码分类表

控制字符 (0-31, 127)

用于控制设备或提供元信息,不可打印

空白字符 (32)

空格字符

标点符号 (33-47, 58-64, 91-96, 123-126)

包括标点、括号、特殊符号等

数字 (48-57)

阿拉伯数字0-9

大写字母 (65-90)

英文大写字母A-Z

小写字母 (97-122)

英文小写字母a-z

常见问题
Q: ASCII码和ANSI码有什么区别?
A: ASCII码是7位编码,只能表示128个字符。而ANSI码(美国国家标准协会码)是对ASCII的扩展,使用8位编码,可以表示256个字符。 ANSI码的前128个字符与ASCII码相同,后128个字符则根据不同国家和地区语言有所不同。
Q: 为什么需要了解ASCII码?
A: 了解ASCII码对于编程、数据通信、文本处理和网络安全都很重要。它是计算机字符编码的基础,也是理解更复杂编码系统(如Unicode)的基础。
Q: ASCII码如何表示中文字符?
A: ASCII码无法表示中文字符,因为它只有128个编码位置,仅足够表示英文字母、数字和一些符号。中文字符需要使用其他编码方式, 如GB2312、GBK、GB18030或Unicode(UTF-8、UTF-16等)。