HTML - URL编码



URL编码是指将URL中不可打印的字符或具有特殊含义的字符转换为web浏览器和服务器都能无歧义地普遍接受的表示形式。这些字符包括:

  • ASCII控制字符 - 通常用于输出控制的不可打印字符。字符范围为00-1F十六进制(0-31十进制)和7F(127十进制)。完整的编码表如下所示。

  • 非ASCII控制字符 - 这些字符超出了128个字符的ASCII字符集。此范围是ISO-Latin字符集的一部分,包括ISO-Latin字符集的整个“上半部分”80-FF十六进制(128-255十进制)。完整的编码表如下所示。

  • 保留字符 - 这些是特殊字符,例如美元符号、和号、加号、逗号、正斜杠、冒号、分号、等号、问号和“@”符号。所有这些在URL内部都可能具有不同的含义,因此需要进行编码。完整的编码表如下所示。

  • 不安全字符 - 这些字符包括空格、引号、小于符号、大于符号、井号、百分号、左花括号、右花括号、竖线、反斜杠、脱字符、波浪号、左方括号、右方括号、重音符。由于各种原因,这些字符在URL中可能会被误解。这些字符也应始终进行编码。完整的编码表如下所示。

编码表示法将所需字符替换为三个字符:一个百分号和两个十六进制数字,它们对应于该字符在ASCII字符集中的位置。

示例

最常见的特殊字符之一是空格。你不能直接在URL中输入空格。空格在字符集中的位置是20十六进制。因此,在将请求传递到服务器时,可以使用%20代替空格。

http://www.example.com/new%20pricing.htm

此URL实际上从www.example.com检索名为“new pricing.htm”的文档

ASCII控制字符编码

这包括字符范围00-1F十六进制(0-31十进制)和7F(127十进制)的编码

十进制 十六进制值 字符 URL编码
0 00   %00
101 %01
202 %02
303 %03
404 %04
505 %05
606 %06
707 %07
808退格%08
909制表符%09
100a换行符%0a
110b %0b
120c %0c
130d回车符%0d
140e %0e
150f %0f
1610 %10
1711 %11
1812 %12
1913 %13
2014 %14
2115 %15
2216 %16
2317 %17
2418 %18
2519 %19
261a %1a
271b %1b
281c %1c
291d %1d
301e %1e
311f %1f
1277f %7f

非ASCII控制字符编码

这包括ISO-Latin字符集整个“上半部分”80-FF十六进制(128-255十进制)的编码。

十进制 十六进制值 字符 URL编码
12880%80
12981%81
13082%82
13183ƒ%83
13284%84
13385%85
13486%86
13587%87
13688ˆ%88
13789%89
1388aŠ%8a
1398b%8b
1408cŒ%8c
1418d%8d
1428eŽ%8e
1438f%8f
14490%90
14591%91
14692%92
14793%93
14894%94
14995%95
15096%96
15197%97
15298˜%98
15399%99
1549aš%9a
1559b%9b
1569cœ%9c
1579d%9d
1589ež%9e
1599fŸ%9f
160a0 %a0
161a1¡%a1
162a2¢%a2
163a3£%a3
164a4¤%a4
165a5¥%a5
166a6¦%a6
167a7§%a7
168a8¨%a8
169a9©%a9
170aaª%aa
171ab«%ab
172ac¬%ac
173ad­%ad
174ae®%ae
175af¯%af
176b0°%b0
177b1±%b1
178b2²%b2
179b3³%b3
180b4´%b4
181b5µ%b5
182b6%b6
183b7·%b7
184b8¸%b8
185b9¹%b9
186baº%ba
187bb»%bb
188bc¼%bc
189bd½%bd
190be¾%be
191bf¿%bf
192c0À%c0
193c1Á%c1
194c2Â%c2
195c3Ã%c3
196c4Ä%c4
197c5Å%c5
198c6Æ%v6

199c7Ç%c7
200c8È%c8
201c9É%c9
202caÊ%ca
203cbË%cb
204ccÌ%cc
205cdÍ%cd
206ceÎ%ce
207cfÏ%cf
208d0Ð%d0
209d1Ñ%d1
210d2Ò%d2
211d3Ó%d3
212d4Ô%d4
213d5Õ%d5
214d6Ö%d6
215d7×%d7
216d8Ø%d8
217d9Ù%d9
218daÚ%da
219dbÛ%db
220dcÜ%dc
221ddÝ%dd
222deÞ%de
223dfß%df
224e0à%e0
225e1á%e1
226e2â%e2
227e3ã%e3
228e4ä%e4
229e5å%e5
230e6æ%e6
231e7ç%e7
232e8è%e8
233e9é%e9
234eaê%ea
235ebë%eb
236ecì%ec
237edí%ed
238eeî%ee
239efï%ef
240f0ð%f0
241f1ñ%f1
242f2ò%f2
243f3ó%f3
244f4ô%f4
245f5õ%f5
246f6ö%f6
247f7÷%f7
248f8ø%f8
249f9ù%f9
250faú%fa
251fbû%fb
252fcü%fc
253fdý%fd
254feþ%fe
255ffÿ%ff

保留字符编码

以下是用于编码保留字符的表格。

十进制 十六进制值 字符 URL编码
3624$%24
3826&%26
432b+%2b
442c,%2c
472f/%2f
583a:%3a
593b;%3b
613d=%3d
633f?%3f
6440@%40

不安全字符编码

以下是用于编码不安全字符的表格。

十进制 十六进制值 字符 URL编码
3220空格%20
3422"%22
603c<%3c
623e>%3e
3523#%23
3725%%25
1237b{%7b
1257d}%7d
1247c|%7c
925c\%5c
945e^%5e
1267e~%7e
915b[%5b
935d]%5d
9660`%60
广告