在URL编码的过程中,经常看到这样的东西,如%2B,%25,这是哪种编码呢?原来就是ASCII码表( American Standard Code for Information Interchange, ASCII ) 。
简单地说,
ASCII码表中和URL编码最相关的部分是:
字符特殊字符的含义 URL编码
# 用来标志特定的文档位置 %23
% 对特殊字符进行编码 %25
& 分隔不同的变量值对 %26
+ 在变量值中表示空格 %2B
/ 表示目录路径 %2F
= 用来连接键和值 %3D
? 表示查询字符串的开始 %3F
详细地说,
标准ASCII 码使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9
、标点符号,以及在美式英语中使用的特殊控制字符。
其最高位(b7)用作奇偶校验位。用来检验传送过程中是否出现错误。
以下为标准ASCII表:
Bin | Dec | Hex | 缩写/字符 | 解释 | |
0 | 0 | 0 | 0 | NUL | 空字符 |
0 | 1 | 1 | 1 | SOH | 标题开始 |
0 | 10 | 2 | 2 | STX | 正文开始 |
0 | 11 | 3 | 3 | ETX | 正文结束 |
0 | 100 | 4 | 4 | EOT | 传输结束 |
0 | 101 | 5 | 5 | ENQ | 请求 |
0 | 110 | 6 | 6 | ACK | 收到通知 |
0 | 111 | 7 | 7 | BEL | 响铃 |
0 | 1000 | 8 | 8 | BS | 退格 |
0 | 1001 | 9 | 9 | HT | 水平制表符 |
0 | 1010 | 10 | 0A | LF | 换行键 |
0 | 1011 | 11 | 0B | VT | 垂直制表符 |
0 | 1100 | 12 | 0C | FF | 换页键 |
0 | 1101 | 13 | 0D | CR | 回车键 |
0 | 1110 | 14 | 0E | SO | 不用切换 |
0 | 1111 | 15 | 0F | SI | 启用切换 |
1 | 0 | 16 | 10 | DLE | 数据链路转义 |
1 | 1 | 17 | 11 | DC1 | 设备控制1 |
1 | 10 | 18 | 12 | DC2 | 设备控制2 |
1 | 11 | 19 | 13 | DC3 | 设备控制3 |
1 | 100 | 20 | 14 | DC4 | 设备控制4 |
1 | 101 | 21 | 15 | NAK | 拒绝接收 |
1 | 110 | 22 | 16 | SYN | 同步空闲 |
1 | 111 | 23 | 17 | ETB | 传输块结束 |
1 | 1000 | 24 | 18 | CAN | 取消/作废 |
1 | 1001 | 25 | 19 | EM | 介质中断 |
1 | 1010 | 26 | 1A | SUB | 替补 |
1 | 1011 | 27 | 1B | ESC | 溢出 |
1 | 1100 | 28 | 1C | FS | 文件分割符 |
1 | 1101 | 29 | 1D | GS | 分组符 |
1 | 1110 | 30 | 1E | RS | 记录分离符 |
1 | 1111 | 31 | 1F | US | 单元分隔符 |
10 | 0 | 32 | 20 | 空格 | |
10 | 1 | 33 | 21 | ! | |
10 | 10 | 34 | 22 | ||
10 | 11 | 35 | 23 | # | |
10 | 100 | 36 | 24 | $ | |
10 | 101 | 37 | 25 | % | |
10 | 110 | 38 | 26 | & | |
10 | 111 | 39 | 27 | ' | |
10 | 1000 | 40 | 28 | ( | |
10 | 1001 | 41 | 29 | ) | |
10 | 1010 | 42 | 2A | * | |
10 | 1011 | 43 | 2B | + | |
10 | 1100 | 44 | 2C | , | |
10 | 1101 | 45 | 2D | - | |
10 | 1110 | 46 | 2E | . | |
10 | 1111 | 47 | 2F | / |