ASCII 码表
标准 ASCII 码可分为 控制字符(0~31 + 127) 和 可打印字符(32~126) 两大类,以下是高频使用的编码对照表:
控制字符
(非打印,用于设备 / 程序控制,核心常用)
| 十进制 | 十六进制 | 二进制 | 字符 | 含义 | 常用场景 |
|---|---|---|---|---|---|
| 0 | 0x00 | 00000000 | NUL | 空字符 | 初始化内存 / 字符串结束标志 |
| 7 | 0x07 | 00000111 | BEL | 响铃 | 嵌入式中可触发蜂鸣器提示 |
| 8 | 0x08 | 00001000 | BS | 退格键 | 键盘 Backspace |
| 9 | 0x09 | 00001001 | TAB | 水平制表符 | 键盘 Tab |
| 10 | 0x0A | 00001010 | LF | 换行符 | 嵌入式串口打印常用 |
| 13 | 0x0D | 00001101 | CR | 回车符 | Windows 文本换行需 CR+LF |
| 127 | 0x7F | 01111111 | DEL | 删除字符 | 删除光标后的内容 |
可打印字符(32~126,开发中高频使用)
(1)空白字符
| 十进制 | 十六进制 | 二进制 | 字符 | 含义 |
|---|---|---|---|---|
| 32 0x20 | 00100000 | (空格) | 键盘空格键 |
(2)数字字符(0~9)
| 十进制 | 十六进制 | 二进制 | 字符 | 十进制 | 十六进制 | 二进制 | 字符 |
|---|---|---|---|---|---|---|---|
| 48 | 0x30 | 00110000 | 0 | 53 | 0x35 | 00110101 | 5 |
| 49 | 0x31 | 00110001 | 1 | 54 | 0x36 | 00110110 | 6 |
| 50 | 0x32 | 00110010 | 2 | 55 | 0x37 | 00110111 | 7 |
| 51 | 0x33 | 00110011 | 3 | 56 | 0x38 | 00111000 | 8 |
| 52 | 0x34 | 00110100 | 4 | 57 | 0x39 | 00111001 | 9 |
(3)大写字母(A~Z)
核心规律:大写 A 的十进制编码是 65,后续字母依次递增 1(如 'Z' = 65 + 25 = 90)
| 十进制 | 十六进制 | 二进制 | 字符 | 十进制 | 十六进制 | 二进制 | 字符 |
|---|---|---|---|---|---|---|---|
| 65 | 0x41 | 01000001 | A | 78 | 0x4E | 01001110 | N |
| 66 | 0x42 | 01000010 | B | 79 | 0x4F | 01001111 | O |
| 67 | 0x43 | 01000011 | C | 80 | 0x50 | 01010000 | P |
| 68 | 0x44 | 01000100 | D | 81 | 0x51 | 01010001 | Q |
| 69 | 0x45 | 01000101 | E | 82 | 0x52 | 01010010 | R |
| 70 | 0x46 | 01000110 | F | 83 | 0x53 | 01010011 | S |
| 71 | 0x47 | 01000111 | G | 84 | 0x54 | 01010100 | T |
| 72 | 0x48 | 01001000 | H | 85 | 0x55 | 01010101 | U |
| 73 | 0x49 | 01001001 | I | 86 | 0x56 | 01010110 | V |
| 74 | 0x4A | 01001010 | J | 87 | 0x57 | 01010111 | W |
| 75 | 0x4B | 01001011 | K | 88 | 0x58 | 01011000 | X |
| 76 | 0x4C | 01001100 | L | 89 | 0x59 | 01011001 | Y |
| 77 | 0x4D | 01001101 | M | 90 | 0x5A | 01011010 | Z |
(4)小写字母(a~z)
| 十进制 | 十六进制 | 二进制 | 字符 | 十进制 | 十六进制 | 二进制 | 字符 |
|---|---|---|---|---|---|---|---|
| 97 | 0x61 | 01100001 | a | 110 | 0x6E | 01101110 | n |
| 98 | 0x62 | 01100010 | b | 111 | 0x6F | 01101111 | o |
| 99 | 0x63 | 01100011 | c | 112 | 0x70 | 01110000 | p |
| 100 | 0x64 | 01100100 | d | 113 | 0x71 | 01110001 | q |
| 101 | 0x65 | 01100101 | e | 114 | 0x72 | 01110010 | r |
| 102 | 0x66 | 01100110 | f | 115 | 0x73 | 01110011 | s |
| 103 | 0x67 | 01100111 | g | 116 | 0x74 | 01110100 | t |
| 104 | 0x68 | 01101000 | h | 117 | 0x75 | 01110101 | u |
| 105 | 0x69 | 01101001 | i | 118 | 0x76 | 01110110 | v |
| 106 | 0x6A | 01101010 | j | 119 | 0x77 | 01110111 | w |
| 107 | 0x6B | 01101011 | k | 120 | 0x78 | 01111000 | x |
| 108 | 0x6C | 01101100 | l | 121 | 0x79 | 01111001 | y |
| 109 | 0x6D | 01101101 | m | 122 | 0x7A | 01111010 | z |
(5)常见标点符号(高频使用)
| 十进制 | 十六进制 | 二进制 | 字符 | 十进制 | 十六进制 | 二进制 | 字符 |
|---|---|---|---|---|---|---|---|
| 33 | 0x21 | 00100001 | ! | 44 | 0x2C | 00101100 | , |
| 34 | 0x22 | 00100010 | " | 45 | 0x2D | 00101101 | - |
| 35 | 0x23 | 00100011 | # | 46 | 0x2E | 00101110 | . |
| 36 | 0x24 | 00100100 | $ | 47 | 0x2F | 00101111 | / |
| 37 | 0x25 | 00100101 | % | 58 | 0x3A | 00111010 | : |
| 38 | 0x26 | 00100110 | & | 59 | 0x3B | 00111011 | ; |
| 39 | 0x27 | 00100111 | ' | 60 | 0x3C | 00111100 | < |
| 40 | 0x28 | 00101000 | ( | 61 | 0x3D | 00111101 | = |
| 41 | 0x29 | 00101001 | ) | 62 | 0x3E | 00111110 | > |
| 42 | 0x2A | 00101010 | * | 59 | 0x3B | 00111011 | ; |
| 43 | 0x2B | 00101011 | + | 60 | 0x3C | 00111100 | < |
| 44 | 0x2C | 00101100 | , | 61 | 0x3D | 00111101 | = |
| 45 | 0x2D | 00101101 | - | 62 | 0x3E | 00111110 | > |
| 46 | 0x2E | 00101110 | . | 63 | 0x3F | 00111111 | ? |
| 47 | 0x2F | 00101111 | / | 64 | 0x40 | 01000000 | @ |
(6)其他特殊字符
| 十进制 | 十六进制 | 二进制 | 字符 | 十进制 | 十六进制 | 二进制 | 字符 |
|---|---|---|---|---|---|---|---|
| 91 | 0x5B | 01011011 | [ | 123 | 0x7B | 01111011 | { |
| 92 | 0x5C | 01011100 | \ | 124 | 0x7C | 01111100 | | |
| 93 | 0x5D | 01011101 | ] | 125 | 0x7D | 01111101 | } |
| 94 | 0x5E | 01011110 | ^ | 126 | 0x7E | 01111110 | ~ |
| 95 | 0x5F | 01011111 | _ |
三、开发中的实用技巧(嵌入式 / C 语言常用)
字符与十进制编码的转换:在 C 语言中,字符类型(
char)本质是 ASCII 编码的十进制值,可直接参与数值计算: c运行
#include <stdio.h> int main() { // 1. 字符转编码(自动转换) char ch1 = 'A'; printf("'A' 的十进制编码:%d\n", ch1); // 输出 65 printf("'A' 的十六进制编码:0x%x\n", ch1); // 输出 0x41 // 2. 编码转字符(强制转换) int code = 97; printf("十进制 97 对应字符:%c\n", (char)code); // 输出 'a' // 3. 大小写转换(利用差值 32) char ch2 = 'B'; char lower_ch2 = ch2 + 32; // 大写转小写 printf("'B' 转小写:%c\n", lower_ch2); // 输出 'b' // 4. 数字字符转整数 char num_ch = '8'; int num = num_ch - 48; // 利用 '0' 的编码是 48 printf("字符'8' 转整数:%d\n", num); // 输出 8 return 0; }判断字符类型:通过 ASCII 编码范围快速判断字符类型(如判断是否为大写字母:
ch >= 65 && ch <= 90)串口 / 文本操作:换行(
\n,十进制 10)、回车(\r,十进制 13)是嵌入式串口打印、文本文件读写中的高频控制字符,Windows 系统需\r\n组合实现换行,Linux/Mac 系统仅需\n。
四、总结
- 标准 ASCII 码:1 字节(8 位)存储,仅用 7 位,取值范围
0~127(十进制)。 - 核心规律:数字
0(48)、大写A(65)、小写a(97)是三个基准编码,后续字符依次递增。 - 开发实用:字符与编码可直接转换,利用编码差值可快速实现大小写、数字字符与整数的转换。
五、 ASCII
ASCII (95) 字符表
ASCII (33) 字符表 