什么是 ASCII 码?
ASCII(美国信息交换标准代码)是一种字符编码,给 128 个字符分别分配了 0 到 127 的编号:英文字母、数字、标点、空格,以及 33 个控制字符。每个 ASCII 码都能用 7 位表示,所以放进 8 位字节时,第一位总是 0。
ASCII 于 1963 年发布,至今仍是计算机文本的基础。网页通用的 UTF-8 完整保留了这 128 个编码,所以英文在两种编码下完全一样。ASCII 里没有汉字,中文需要用 UTF-8 等编码表示。要把二进制转成 ASCII,在上方粘贴 8 位字节即可;要把 ASCII 转成二进制,切换到「文字 → 二进制」。转换器已设为严格 ASCII 模式,表外的字符会被标出来。
怎么看 ASCII 码二进制对照表?
表中每一行是一个字符,以及它在三种进制下的编码:十进制就是普通的编号,十六进制是以 16 为底的写法,二进制是计算机实际存储的 8 位字节。以字母 A 为例:十进制 65,十六进制 41,二进制 01000001。手动解码时,在表中找到对应的二进制,同一行的字符就是答案。
可打印 ASCII 字符(32–126)
这 95 个字符是能看到、能直接输入的字符,从编码 32 的空格开始。
| 字符 | 十进制 | 十六进制 | 二进制 |
|---|---|---|---|
| 空格 | 32 | 20 | 00100000 |
| ! | 33 | 21 | 00100001 |
| " | 34 | 22 | 00100010 |
| # | 35 | 23 | 00100011 |
| $ | 36 | 24 | 00100100 |
| % | 37 | 25 | 00100101 |
| & | 38 | 26 | 00100110 |
| ' | 39 | 27 | 00100111 |
| ( | 40 | 28 | 00101000 |
| ) | 41 | 29 | 00101001 |
| * | 42 | 2A | 00101010 |
| + | 43 | 2B | 00101011 |
| , | 44 | 2C | 00101100 |
| - | 45 | 2D | 00101101 |
| . | 46 | 2E | 00101110 |
| / | 47 | 2F | 00101111 |
| 0 | 48 | 30 | 00110000 |
| 1 | 49 | 31 | 00110001 |
| 2 | 50 | 32 | 00110010 |
| 3 | 51 | 33 | 00110011 |
| 4 | 52 | 34 | 00110100 |
| 5 | 53 | 35 | 00110101 |
| 6 | 54 | 36 | 00110110 |
| 7 | 55 | 37 | 00110111 |
| 8 | 56 | 38 | 00111000 |
| 9 | 57 | 39 | 00111001 |
| : | 58 | 3A | 00111010 |
| ; | 59 | 3B | 00111011 |
| < | 60 | 3C | 00111100 |
| = | 61 | 3D | 00111101 |
| > | 62 | 3E | 00111110 |
| ? | 63 | 3F | 00111111 |
| @ | 64 | 40 | 01000000 |
| A | 65 | 41 | 01000001 |
| B | 66 | 42 | 01000010 |
| C | 67 | 43 | 01000011 |
| D | 68 | 44 | 01000100 |
| E | 69 | 45 | 01000101 |
| F | 70 | 46 | 01000110 |
| G | 71 | 47 | 01000111 |
| H | 72 | 48 | 01001000 |
| I | 73 | 49 | 01001001 |
| J | 74 | 4A | 01001010 |
| K | 75 | 4B | 01001011 |
| L | 76 | 4C | 01001100 |
| M | 77 | 4D | 01001101 |
| N | 78 | 4E | 01001110 |
| O | 79 | 4F | 01001111 |
| P | 80 | 50 | 01010000 |
| Q | 81 | 51 | 01010001 |
| R | 82 | 52 | 01010010 |
| S | 83 | 53 | 01010011 |
| T | 84 | 54 | 01010100 |
| U | 85 | 55 | 01010101 |
| V | 86 | 56 | 01010110 |
| W | 87 | 57 | 01010111 |
| X | 88 | 58 | 01011000 |
| Y | 89 | 59 | 01011001 |
| Z | 90 | 5A | 01011010 |
| [ | 91 | 5B | 01011011 |
| \ | 92 | 5C | 01011100 |
| ] | 93 | 5D | 01011101 |
| ^ | 94 | 5E | 01011110 |
| _ | 95 | 5F | 01011111 |
| ` | 96 | 60 | 01100000 |
| a | 97 | 61 | 01100001 |
| b | 98 | 62 | 01100010 |
| c | 99 | 63 | 01100011 |
| d | 100 | 64 | 01100100 |
| e | 101 | 65 | 01100101 |
| f | 102 | 66 | 01100110 |
| g | 103 | 67 | 01100111 |
| h | 104 | 68 | 01101000 |
| i | 105 | 69 | 01101001 |
| j | 106 | 6A | 01101010 |
| k | 107 | 6B | 01101011 |
| l | 108 | 6C | 01101100 |
| m | 109 | 6D | 01101101 |
| n | 110 | 6E | 01101110 |
| o | 111 | 6F | 01101111 |
| p | 112 | 70 | 01110000 |
| q | 113 | 71 | 01110001 |
| r | 114 | 72 | 01110010 |
| s | 115 | 73 | 01110011 |
| t | 116 | 74 | 01110100 |
| u | 117 | 75 | 01110101 |
| v | 118 | 76 | 01110110 |
| w | 119 | 77 | 01110111 |
| x | 120 | 78 | 01111000 |
| y | 121 | 79 | 01111001 |
| z | 122 | 7A | 01111010 |
| { | 123 | 7B | 01111011 |
| | | 124 | 7C | 01111100 |
| } | 125 | 7D | 01111101 |
| ~ | 126 | 7E | 01111110 |
ASCII 控制字符(0–31 和 127)
控制字符不会显示任何内容,它们最初用来控制电传打字机和终端。其中一些至今仍随处可见:制表符(9)、换行(10)和回车(13)用来标记行尾,转义(27)是终端颜色代码的开头。
| 缩写 | 名称 | 十进制 | 十六进制 | 二进制 |
|---|---|---|---|---|
| NUL | 空字符 | 0 | 00 | 00000000 |
| SOH | 标题开始 | 1 | 01 | 00000001 |
| STX | 正文开始 | 2 | 02 | 00000010 |
| ETX | 正文结束 | 3 | 03 | 00000011 |
| EOT | 传输结束 | 4 | 04 | 00000100 |
| ENQ | 询问 | 5 | 05 | 00000101 |
| ACK | 确认 | 6 | 06 | 00000110 |
| BEL | 响铃 | 7 | 07 | 00000111 |
| BS | 退格 | 8 | 08 | 00001000 |
| HT | 水平制表符 | 9 | 09 | 00001001 |
| LF | 换行 | 10 | 0A | 00001010 |
| VT | 垂直制表符 | 11 | 0B | 00001011 |
| FF | 换页 | 12 | 0C | 00001100 |
| CR | 回车 | 13 | 0D | 00001101 |
| SO | 移出 | 14 | 0E | 00001110 |
| SI | 移入 | 15 | 0F | 00001111 |
| DLE | 数据链路转义 | 16 | 10 | 00010000 |
| DC1 | 设备控制 1(XON) | 17 | 11 | 00010001 |
| DC2 | 设备控制 2 | 18 | 12 | 00010010 |
| DC3 | 设备控制 3(XOFF) | 19 | 13 | 00010011 |
| DC4 | 设备控制 4 | 20 | 14 | 00010100 |
| NAK | 否定确认 | 21 | 15 | 00010101 |
| SYN | 同步空闲 | 22 | 16 | 00010110 |
| ETB | 传输块结束 | 23 | 17 | 00010111 |
| CAN | 取消 | 24 | 18 | 00011000 |
| EM | 介质结束 | 25 | 19 | 00011001 |
| SUB | 替换 | 26 | 1A | 00011010 |
| ESC | 转义 | 27 | 1B | 00011011 |
| FS | 文件分隔符 | 28 | 1C | 00011100 |
| GS | 组分隔符 | 29 | 1D | 00011101 |
| RS | 记录分隔符 | 30 | 1E | 00011110 |
| US | 单元分隔符 | 31 | 1F | 00011111 |
| DEL | 删除 | 127 | 7F | 01111111 |
ASCII 二进制中值得记住的规律
- 大小写只差一位。大写和小写字母只在代表 32 的那一位不同:A 是
01000001,a 是01100001。 - 字母从 1 开始数。字母的后五位就是它在字母表中的位置:A 是
00001,Z 是11010(26)。 - 数字字符以
0011开头。字符 0–9 的编码是 48–57,后四位正好是数字本身:7 是00110111。 - DEL 全是 1。编码 127 是
01111111。在纸带时代,把所有孔都打穿就能抹掉一个字符,「删除」由此得名。
想看字母和常见词语的二进制,可以查看首页的英文字母二进制表。
常见问题
字母 A 的 ASCII 码二进制是多少?
大写 A 的 ASCII 码是 65,二进制为 01000001,十六进制为 41。小写 a 是 97,二进制为 01100001。
ASCII 一共有多少个字符?
标准 ASCII 共 128 个字符,编码 0–127。其中 0–31 和 127 是控制字符,32–126 是 95 个可打印字符(包括空格)。
什么是扩展 ASCII?
「扩展 ASCII」泛指用 128–255 表示额外字符的各种 8 位代码页。不同系统的定义并不一致,所以如今普遍改用 UTF-8。
ASCII 和 UTF-8 一样吗?
在 0–127 范围内是一样的:每个 ASCII 字符在 UTF-8 中都是同一个单字节。UTF-8 在此基础上用多字节序列表示 Unicode 中的其他所有字符。