当前位置: 首页 > 文档资料 > HTML5 入门教程 >

URL编码(URL Encoding)

优质
小牛编辑
127浏览
2023-12-01

URL编码是将URL中具有特殊含义的不可打印字符或字符转换为明确且由Web浏览器和服务器普遍接受的表示的实践。 这些字符包括 -

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

  • Non-ASCII control characters - 这些是超过128个字符的ASCII字符集的字符。 此范围是ISO-Latin字符集的一部分,并且包括ISO-Latin集合80-FF hex(十进制128-255)的整个“上半部分”。 下面给出了完整的编码表。

  • Reserved characters - 这些是特殊字符,例如美元符号,&符号,加号,常用,正斜杠,冒号,分号,等号,问号和“at”符号。 所有这些都可以在URL中具有不同的含义,因此需要进行编码。 下面给出了完整的编码表。

  • Unsafe characters - 这些是空格,引号,小于符号,大于符号,磅字符,百分比字符,左卷曲支撑,右卷曲支撑,管道,反斜杠,插入符号,Tilde,左方括号,右方括号,严重重音。 由于各种原因,这些字符可能会在URL中被误解。 这些字符也应始终编码。 下面给出了完整的编码表。

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

例子 (Example)

最常见的特殊字符之一是空间。 您无法直接在URL中键入空格。 字符集中的空格位置是20十六进制。 因此,在将请求传递给服务器时,可以使用%20。

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

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

ASCII控制字符编码

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

十进制十六进制值字符网址编码
000%00
101%01
202%02
303%03
404%04
505%05
606%06
707%07
808backspace%08
909tab%09
100alinefeed%0a
110b%0b
120c%0c
130dcarriage return%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 hex(128-255十进制)的整个“上半部分”的编码。

十进制十六进制值字符网址编码
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

保留字符编码

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

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

不安全的字符编码

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

十进制十六进制值烧焦网址编码
3220space%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