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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
---
title: Encodage-pourcent
slug: Glossary/percent-encoding
tags:
- Débutant
- Glossaire
- Mécanismes web
translation_of: Glossary/percent-encoding
original_slug: Glossaire/percent-encoding
---
<p><strong>Encodage-pourcent (<em>Percent-encoding</em>)</strong> est un mécanisme d'encodage des caractères de 8 bits qui ont une signification spécifique dans le contexte des {{Glossary("URL")}}. Il est parfois appelé encodage d'URL. Il consiste en une substitution de : un caractère '%' suivi d'un code hexadecimal correspondant à la valeur ASCII du caractère à remplacer.</p>
<p>Les caractères spéciaux nécessitant cet encodage sont : <code>':'</code>, <code>'/'</code>, <code>'?'</code>, <code>'#'</code>, <code>'['</code>, <code>']'</code>, <code>'@'</code>, <code>'!'</code>, <code>'$'</code>, <code>'&'</code>, <code>"'"</code>, <code>'('</code>, <code>')'</code>, <code>'*'</code>, <code>'+'</code>, <code>','</code>, <code>';'</code>, <code>'='</code>, et <code>'%'</code> lui-même. Les autres caractères n'ont pas besoin d'être encodés, bien qu'ils puissent l'être.</p>
<table>
<thead>
<th>Caractère</th>
<th>Encodage</th>
</thead>
<tbody>
<tr>
<td><code>':'</code></td>
<td><code>%3A</code></td>
</tr>
<tr>
<td><code>'/'</code></td>
<td><code>%2F</code></td>
</tr>
<tr>
<td><code>'?'</code></td>
<td><code>%3F</code></td>
</tr>
<tr>
<td><code>'#'</code></td>
<td><code>%23</code></td>
</tr>
<tr>
<td><code>'['</code></td>
<td><code>%5B</code></td>
</tr>
<tr>
<td><code>']'</code></td>
<td><code>%5D</code></td>
</tr>
<tr>
<td><code>'@'</code></td>
<td><code>%40</code></td>
</tr>
<tr>
<td><code>'!'</code></td>
<td><code>%21</code></td>
</tr>
<tr>
<td><code>'$'</code></td>
<td><code>%24</code></td>
</tr>
<tr>
<td><code>'&'</code></td>
<td><code>%26</code></td>
</tr>
<tr>
<td><code>"'"</code></td>
<td><code>%27</code></td>
</tr>
<tr>
<td><code>'('</code></td>
<td><code>%28</code></td>
</tr>
<tr>
<td><code>')'</code></td>
<td><code>%29</code></td>
</tr>
<tr>
<td><code>'*'</code></td>
<td><code>%2A</code></td>
</tr>
<tr>
<td><code>'+'</code></td>
<td><code>%2B</code></td>
</tr>
<tr>
<td><code>','</code></td>
<td><code>%2C</code></td>
</tr>
<tr>
<td><code>';'</code></td>
<td><code>%3B</code></td>
</tr>
<tr>
<td><code>'='</code></td>
<td><code>%3D</code></td>
</tr>
<tr>
<td><code>'%'</code></td>
<td><code>%25</code></td>
</tr>
<tr>
<td><code>' '</code></td>
<td><code>%20</code> ou <code>+</code></td>
</tr>
</tbody>
</table>
<p>En fonction du contexte, le caractère <code>' '</code> est traduit par un <code>'+'</code> (comme dans la version de codage en pourcentage utilisée dans un message <code>application/x-www-form-urlencoded</code>), ou en <code>'%20'</code> comme dans les URL.</p>
<h2 id="En_apprendre_plus">En apprendre plus</h2>
<h3 id="Culture_générale">Culture générale</h3>
<ul>
<li><a href="https://fr.wikipedia.org/wiki/Codage_des_caract%C3%A8res">codage des caractères</a> sur Wikipedia.</li>
</ul>
<h3 id="Savoir_technique">Savoir technique</h3>
<ul>
<li>{{RFC(3986)}}, section 2.1, où ce codage est défini.</li>
</ul>
|