URL转义

URL中的字符只能是ASCII字符,但是ASCII字符比较少,而URL则常常包含ASCII字符集以外的字符,如非英语字符、汉字、特殊符等等,所以要对URL进行转换。这个过程就叫做URL编码,或者叫URL转义,实质上就是将包含非ASCII字符的URL转换为有效的ASCII字符格式。

在进行URL编码时,每一个非ASCII字符都被替换为“%hh”格式,其中hh为两位十六进制数,它对应于该字符在ISO-8859-1字符集里的编码值。比如“中国”这两个汉字出现在URL,就要将他们转为“%D6%D0%B9%FA”,由于一个汉字需要两个字节,所以“中国”被替换成了四个ASCII字符。


简单地说,
ASCII码表中和URL编码最相关的部分是:
字符特殊字符的含义 URL编码

# 用来标志特定的文档位置 %23
% 对特殊字符进行编码 %25
& 分隔不同的变量值对 %26
+ 在变量值中表示空格 %2B
/ 表示目录路径 %2F
= 用来连接键和值 %3D
? 表示查询字符串的开始 %3F 

    public static void main(String[] args) throws UnsupportedEncodingException{  
            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);  
        }  

另附上ASCII字符与URL编码的对照表。

ASCII值URL编码
æ0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
backspace0.08
tab0.09
linefeed%0a
%0b
%0c
c return%0d
%0e
%0f
0.1
0.11
0.12
0.13
0.14
0.15
0.16
0.17
0.18
0.19
%1a
%1b
%1c
%1d
%1e
%1f
space0.2
!0.21
0.22
#0.23
$0.24
%0.25
&0.26
0.27
(0.28
)0.29
*%2a
+%2b
,%2c
-%2d
.%2e
/%2f
00.3
10.31
20.32
30.33
40.34
50.35
60.36
70.37
80.38
90.39
:%3a
;%3b
<%3c
=%3d
>%3e
?%3f
@0.4
A0.41
B0.42
C0.43
D0.44
E0.45
F0.46
G0.47
H0.48
I0.49
J%4a
K%4b
L%4c
M%4d
N%4e
O%4f
P0.5
Q0.51
R0.52
S0.53
T0.54
U0.55
V0.56
W0.57
X0.58
Y0.59
Z%5a
[%5b
|%5c
]%5d
^%5e
_%5f
`0.6
a0.61
b0.62
c0.63
d0.64
e0.65
f0.66
g0.67
h0.68
i0.69
j%6a
k%6b
l%6c
m%6d
n%6e
o%6f
p0.7
q0.71
r0.72
s0.73
t0.74
u0.75
v0.76
w0.77
x0.78
y0.79
z%7a
{%7b
}%7d
~%7e
%7f
0.8
0.81
0.82
ƒ0.83
0.84
0.85
0.86
0.87
ˆ0.88
0.89
Š%8a
%8b
Œ%8c
%8d
?%8e
%8f
0.9
0.91
0.92
0.93
0.94
0.95
0.96
0.97
˜0.98
0.99
š%9a
%9b
œ%9c
%9d
?%9e
Ÿ%9f
%a0
¡%a1
¢%a2
£%a3
%a4
À%c0
Á%c1
Â%c2
Ã%c3
Ä%c4
Å%c5
Æ%c6
Ç%c7
È%c8
É%c9
Ê%ca
Ë%cb
Ì%cc
Í%cd
Î%ce
Ï%cf
Ð%d0
Ñ%d1
Ò%d2
Ó%d3
Ô%d4
ð%f0
ñ%f1
ò%f2
ó%f3
ô%f4
õ%f5
ö%f6
÷%f7
ø%f8
ù%f9
ú%fa
û%fb
ü%fc
ý%fd
þ%fe
ÿ%ff

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  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值