URL編碼(URL encoding)的作用是將字符轉化為可在因特網上安全傳輸的格式。
URL——統一資源定位符
Web瀏覽器通過URL從Web服務器上請求頁面。
URL就是網頁的地址,如:http://www.w3schools.com。
URL編碼
在因特網上傳送URL,只能采用ASCII字符集。
但由於URL常常包含ASCII字符集以外的字符,所以我們必須對URL進行轉換。URL編碼要做的,就是將URL轉換為有效的ASCII字符格式。
在進行URL編碼時,每一個非安全的ASCII字符都被替換為“%hh”格式,其中hh為兩位十六進制數,它對應於該字符在ISO-8859-1字符集里的編碼值。
URL字符串里不能含有空格,在進行URL編碼時,空格全部被替換為加號(+)。
試一試
如果你點擊下面的“提交”按鈕,瀏覽器將把你輸入的內容在發送給服務器之前,先對它進行URL編碼。在本例中,服務器端的頁面將把接收到的輸入顯示出來。
你可以試試看輸入別的內容,然后點擊“提交”按鈕。
URL編碼函數
JavaScript、PHP和ASP都提供了進行URL編碼的函數。
在JavaScript中用encodeURI()函數進行URL編碼,在PHP中用rawurlencode()函數,在ASP中用Server.URLEncode()函數。
點擊下面的“URL編碼”按鈕可以看到用JavaScript函數進行URL編碼的效果。
注意:JavaScript的URL編碼函數將把空格編碼為%20。
URL編碼參考手冊
ASCII字符
URL編碼
空格
%20
!
%21
"
%22
#
%23
$
%24
%
%25
&
%26
'
%27
(
%28
)
%29
*
%2A
+
%2B
,
%2C
-
%2D
.
%2E
/
%2F
0
%30
1
%31
2
%32
3
%33
4
%34
5
%35
6
%36
7
%37
8
%38
9
%39
:
%3A
;
%3B
<
%3C
=
%3D
>
%3E
?
%3F
@
%40
A
%41
B
%42
C
%43
D
%44
E
%45
F
%46
G
%47
H
%48
I
%49
J
%4A
K
%4B
L
%4C
M
%4D
N
%4E
O
%4F
P
%50
Q
%51
R
%52
S
%53
T
%54
U
%55
V
%56
W
%57
X
%58
Y
%59
Z
%5A
[
%5B
\
%5C
]
%5D
^
%5E
_
%5F
`
%60
a
%61
b
%62
c
%63
d
%64
e
%65
f
%66
g
%67
h
%68
i
%69
j
%6A
k
%6B
l
%6C
m
%6D
n
%6E
o
%6F
p
%70
q
%71
r
%72
s
%73
t
%74
u
%75
v
%76
w
%77
x
%78
y
%79
z
%7A
{
%7B
|
%7C
}
%7D
~
%7E
%7F
€
%80
%81
‚
%82
ƒ
%83
„
%84
…
%85
†
%86
‡
%87
ˆ
%88
‰
%89
Š
%8A
‹
%8B
Œ
%8C
%8D
Ž
%8E
%8F
%90
‘
%91
’
%92
“
%93
”
%94
•
%95
–
%96
—
%97
˜
%98
™
%99
š
%9A
›
%9B
œ
%9C
%9D
ž
%9E
Ÿ
%9F
%A0
¡
%A1
¢
%A2
£
%A3
%A4
¥
%A5
|
%A6
§
%A7
¨
%A8
©
%A9
ª
%AA
«
%AB
¬
%AC
¯
%AD
®
%AE
¯
%AF
°
%B0
±
%B1
²
%B2
³
%B3
´
%B4
µ
%B5
¶
%B6
·
%B7
¸
%B8
¹
%B9
º
%BA
»
%BB
¼
%BC
½
%BD
¾
%BE
¿
%BF
À
%C0
Á
%C1
Â
%C2
Ã
%C3
Ä
%C4
Å
%C5
Æ
%C6
Ç
%C7
È
%C8
É
%C9
Ê
%CA
Ë
%CB
Ì
%CC
Í
%CD
Î
%CE
Ï
%CF
Ð
%D0
Ñ
%D1
Ò
%D2
Ó
%D3
Ô
%D4
Õ
%D5
Ö
%D6
%D7
Ø
%D8
Ù
%D9
Ú
%DA
Û
%DB
Ü
%DC
Ý
%DD
Þ
%DE
ß
%DF
à
%E0
á
%E1
â
%E2
ã
%E3
ä
%E4
å
%E5
æ
%E6
ç
%E7
è
%E8
é
%E9
ê
%EA
ë
%EB
ì
%EC
í
%ED
î
%EE
ï
%EF
ð
%F0
ñ
%F1
ò
%F2
ó
%F3
ô
%F4
õ
%F5
ö
%F6
÷
%F7
ø
%F8
ù
%F9
ú
%FA
û
%FB
ü
%FC
ý
%FD
þ
%FE
ÿ
%FF
URL編碼參考手冊
ASCII設備控制字符(%00到%1F)原來是用於控制硬件設備的。這里控制字符在URL里不起作用。
ASCII字符
描述
URL編碼
NUL
null字符
%00
SOH
標題開始(start of header)
%01
STX
文本開始(start of text)
%02
ETX
文本結尾(end of text)
%03
EOT
傳輸結束(end of transmission)
%04
ENQ
查詢(enquiry)
%05
ACK
確認(acknowledge)
%06
BEL
響鈴(bell)
%07
BS
退格(backspace)
%08
HT
水平制表符(horizontal tab)
%09
LF
換行(line feed)
%0A
VT
垂直制表符(vertical tab)
%0B
FF
換頁(form feed)
%0C
CR
回車(carriage return)
%0D
SO
移出(shift out)
%0E
SI
移入(shift in)
%0F
DLE
數據通訊換碼(data link escape)
%10
DC1
設備控制1(device control 1)
%11
DC2
設備控制2(device control 2)
%12
DC3
設備控制3(device control 3)
%13
DC4
設備控制4(device control 4)
%14
NAK
否定應答(negative acknowledge)
%15
SYN
同步(synchronize)
%16
ETB
傳輸塊結束(end of transmission block)
%17
CAN
取消(cancel)
%18
EM
媒體結束(end of medium)
%19
SUB
替代(substitute)
%1A
ESC
轉義(escape)
%1B
FS
文件分隔符(file separator)
%1C
GS
組分隔符(group separator)
%1D
RS
記錄分隔符(record separator)
%1E
US
單元分隔符(unit separator)
%1F