URL 编码
URL 编码就是将 URLs 中不宜打印的字符或者具有特殊意义的字符转换为 Web 浏览器和服务器明白且普遍接受的表示法。 这些字符包括:
ASCII 控制字符 – 不宜打印的字符通常用于输出控制。字符范围是十六进制的 00-1F(十进制的 0-31)和 7F(十进制的 127)。下面提供了完整的编码表。
非 ASCII 控制字符 – 这些字符超出了 128 个 ASCII 字符集的范围。这个范围是 ISO-拉丁字符集的一部分以及包含整个十六进制的 ISO-拉丁字符集 00-FF (十进制的 128-255)的“前半部分”。下面提供了完整的编码表。
保留字符 – 诸如美元符号,和号,加号,通用符号,正斜杠,冒号,分好,等号,问号以及 “at”这类符号。所有这些符号在 URL 内都有不同的意义,因此需要编码。下面提供了完整的编码表。
不安全字符 – 包括空格,问号,小于符号,大于符号,磅字符,百分比符号,大括号左边部分,大括号右边部分,管道符,反斜杠,插入符号,波浪线。左方括号,右方括号,沉音符。出于某些原因,这些字符出现在 URLs 中存在被误解的可能性。这些字符也应该始终被编码。下面提供了完整的编码表。
编码表示法需要三个字符替换期望的字符:一个百分号,两个在 ASCII 字符集中表示字符位置的十六进制数字、
示例
最常见的特殊字符之一便是空格。我们不能在 URL 中直接输入一个空格。空格在字符集中就是十六进制的 20。因此请求服务器时可以使用 %20 表示空格。
复制代码http://www.example.com/new%20pricing.html
这个 URL 实际上是从 www.example.com 检索一个名为 new pricing.html 的文档。
ASCII 控制字符编码
包括十六进制的 00-1F(十进制的 0-31)和 7F(十进制的 127)字符码。
| 十进制格式 | 十六进制值 | 字符 | URL 编码 |
|---|---|---|---|
| 0 | 00 | %00 | |
| 1 | 01 | %01 | |
| 2 | 02 | %02 | |
| 3 | 03 | %03 | |
| 4 | 04 | %04 | |
| 5 | 05 | %05 | |
| 6 | 06 | %06 | |
| 7 | 07 | %07 | |
| 8 | 08 | 退格符 | %08 |
| 9 | 09 | tab | %09 |
| 10 | 0a | 换行符 | %0a |
| 11 | 0b | %0b | |
| 12 | 0c | %0c | |
| 13 | 0d | 回车符 | %0d |
| 14 | 0e | %0e | |
| 15 | 0f |









