URL中的字符只能是ASCII字符霜第,但是ASCII字符比較少,而URL則常常包含ASCII字符集以外的字符户辞,如非英語字符泌类、漢字、特殊符號等等底燎,所以要對URL進行轉換刃榨。這個過程就叫做URL編碼,或者叫URL轉義双仍,實質上就是將包含非ASCII字符的URL轉換為有效的ASCII字符格式枢希。
在進行URL編碼時,每一個非ASCII字符都被替換為“%hh”格式朱沃,其中hh為兩位十六進制數(shù)苞轿,它對應于該字符在ISO-8859-1字符集里的編碼值。比如“中國”這兩個漢字出現(xiàn)在URL为流,就要將他們轉為“%D6%D0%B9%FA”呕屎,由于一個漢字需要兩個字節(jié),所以“中國”被替換成了四個ASCII字符敬察。
[java]view plaincopy
publicstaticvoidmain(String[]?args)throwsUnsupportedEncodingException{
String?s?="zhaoxiaofnag%40eims.com.cn?";
s=URLDecoder.decode(s,"utf-8");
System.out.println(s);
String?china?="%31%32%36%2E%61%6D/hEeGv4";
china?=?URLDecoder.decode(china,"utf-8");
System.out.println(china);
}
[plain]view plaincopy
另附上ASCII字符與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
a????%AA
?????%AB
????%AC
ˉ????%AD
????%AE
ˉ????%AF
°????%B0
±???%B1
2????%B2
3????%B3
′?????%B4
μ????%B5
?????%B6
·?????%B7
??????%B8
1????%B9
o????%BA
?????%BB
????%BC
????%BD
????%BE
?????%BF
à????%C0
á????%C1
?????%C2
?????%C3
?????%C4
?????%C5
????%C6
?????%C7
è????%C8
é????%C9
ê????%CA
?????%CB
ì????%CC
í????%CD
?????%CE
?????%CF
D???%D0
?????%D1
ò???%D2
ó???%D3
????%D4
????%D5
????%D6
%D7
????%D8
ù????%D9
ú????%DA
?????%DB
ü????%DC
Y????%DD
T????%DE
?????%DF
à????%E0
á????%E1
a????%E2
?????%E3
?????%E4
?????%E5
????%E6
?????%E7
è????%E8
é????%E9
ê????%EA
?????%EB
ì?????%EC
í?????%ED
??????%EE
??????%EF
e????%F0
?????%F1
ò????%F2
ó????%F3
?????%F4
?????%F5
?????%F6
÷???%F7
?????%F8
ù????%F9
ú????%FA
?????%FB
ü????%FC
y????%FD
t????%FE
?????%FF