跳转至

ASCII

ASCII是什么?

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是最早被广泛采用的字符编码标准之一。它主要用于显示现代英语,而其扩展版本延伸美国标准信息交换码则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC 646。它把字符(如字母、数字、标点符号、控制符号等)映射为 7 位二进制数(0–127)。也是现代所有字符编码(如 UTF-8、Unicode)的基础。

ASCII 的设计原则

1. 使用 7 位编码

  • 一共 128 个编码:0–127
  • 设计之初是为了兼容当时的电传打字机、终端和早期计算机。

2. 兼容英语使用

包含了:

  • 26 个大写字母 A–Z
  • 26 个小写字母 a–z
  • 10 个数字 0–9
  • 基本标点符号(如 . , ! ? 等)
  • 常见操作符(如 + - * / =
  • 控制字符(如换行、响铃等)

ASCII 的内部结构

ASCII 128 个字符可分为两大类:

控制字符(0–31 & 127)

不可打印,用于控制设备和格式。典型如:

  • 0:NUL 空字符
  • 7:BEL(响铃)
  • 8:BS 回退
  • 9:TAB 水平制表符
  • 10:LF 换行
  • 13:CR 回车
  • 27:ESC 转义
  • 127:DEL 删除

这些符号源于早期电传系统,今天仍在终端中有用。


可打印字符(32–126)

包括:

  • 空格(32)
  • 标点符号(33–47)
  • 数字 0–9(48–57)
  • 大写字母 A–Z(65–90)
  • 小写字母 a–z(97–122)
  • 其他符号(如 @ # $ % ^ & *

ASCII 的不足

  • 只能表示 英文字符 ,无法覆盖其他语言(中文、日文等)
  • 无法涵盖数学符号、emoji、国际符号等 → 因此产生了 扩展 ASCII(8 位) 与后来 Unicode 的发展。

ASCII表

ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符
0 NUT 32 (space) 64 @ 96
1 SOH 33 ! 65 A 97 a
2 STX 34 " 66 B 98 b
3 ETX 35 # 67 C 99 c
4 EOT 36 $ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 , 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DCI 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 TB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 < 92 \ 124 |
29 GS 61 = 93 ] 125 }
30 RS 62 > 94 ^ 126 `
31 US 63 ? 95 _ 127 DEL

其实你也可以记一些常用的范围值:

类型 范围(十进制) 十六进制 说明
数字 '0'–'9' 48 – 57 0x30 – 0x39 '0' = 48, `'5' = 53
大写字母 'A'–'Z' 65 – 90 0x41 – 0x5A 'A' = 65, `'Z' = 90
小写字母 'a'–'z' 97 – 122 0x61 – 0x7A 'a' = 97, `'z' = 122
空格 32 0x20 最常见控制字符