原文地址

    在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 /