blob: c874c580a33cd81a0c8b39554e985499be8cd42a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
---
title: Percent-encoding
slug: Glossary/percent-encoding
tags:
- WebMechanics
- 词汇表
translation_of: Glossary/percent-encoding
---
<p><strong>百分比编码 </strong>是一种拥有8位字符编码的编码机制,这些编码在{{Glossary("URL")}}的上下文中具有特定的含义。它有时被称为URL编码。编码由英文字母替换组成:“%” 后跟替换字符的ASCII的十六进制表示。</p>
<p>需要编码的特殊字符有: <code>':'</code><font><font>,</font></font><code>'/'</code><font><font>,</font></font><code>'?'</code><font><font>,</font></font><code>'#'</code><font><font>,</font></font><code>'['</code><font><font>,</font></font><code>']'</code><font><font>,</font></font><code>'@'</code><font><font>,</font></font><code>'!'</code><font><font>,</font></font><code>'$'</code><font><font>,</font></font><code>'&'</code><font><font>,</font></font><code>"'"</code><font><font>,</font></font><code>'('</code><font><font>,</font></font><code>')'</code><font><font>,</font></font><code>'*'</code><font><font>,</font></font><code>'+'</code><font><font>,</font></font><code>','</code><font><font>,</font></font><code>';'</code><font><font>,</font></font><code>'='</code>,以及,<code>'%'</code> 本身. 其他的字符虽然可以进行编码但是不需要。</p>
<table class="standard-table">
<tbody>
<tr>
<td><code>':'</code></td>
<td><code>'/'</code></td>
<td><code>'?'</code></td>
<td><code>'#'</code></td>
<td><code>'['</code></td>
<td><code>']'</code></td>
<td><code>'@'</code></td>
<td><code>'!'</code></td>
<td><code>'$'</code></td>
<td><code>'&'</code></td>
<td><code>"'"</code></td>
<td><code>'('</code></td>
<td><code>')'</code></td>
<td><code>'*'</code></td>
<td><code>'+'</code></td>
<td><code>','</code></td>
<td><code>';'</code></td>
<td><code>'='</code></td>
<td><code>'%'</code></td>
<td><code>' '</code></td>
</tr>
<tr>
<td><code>%3A</code></td>
<td><code>%2F</code></td>
<td><code>%3F</code></td>
<td><code>%23</code></td>
<td><code>%5B</code></td>
<td><code>%5D</code></td>
<td><code>%40</code></td>
<td><code>%21</code></td>
<td><code>%24</code></td>
<td><code>%26</code></td>
<td><code>%27</code></td>
<td><code>%28</code></td>
<td><code>%29</code></td>
<td><code>%2A</code></td>
<td><code>%2B</code></td>
<td><code>%2C</code></td>
<td><code>%3B</code></td>
<td><code>%3D</code></td>
<td><code>%25</code></td>
<td><code>%20</code> 或 <code>+</code></td>
</tr>
</tbody>
</table>
<p>根据上下文, 空白符 <code>' '</code> 将会转换为 <code>'+'</code> (必须在HTTP的POST方法中使定义 <code>application/x-www-form-urlencoded </code> 传输方式), 或者将会转换为 <code>'%20'</code> 的 URL。</p>
<h2 id="学习更多">学习更多</h2>
<h3 id="基本知识">基本知识</h3>
<ul>
<li>维基百科中 <a href="https://en.wikipedia.org/wiki/Percent-encoding">percent-encoding</a> 的相关定义。</li>
</ul>
<h3 id="技术规范">技术规范</h3>
<ul>
<li>{{RFC(3986)}}, 第2.1节,其中定义了这种编码方式。</li>
</ul>
|