URL中的保留和不安全字符

2016-11-29  Wdee47

书写URL时要使用US-ASCII字符集可以显示的字符。

http://www.google.com

如果需要在URL中使用不属于此字符集的字符,就要使用特殊的符号对该字符进行编码。

如:最常使用的空格用%20来表示,例如:http://www.google.com/new%20123.html

除了那些无法显示的字符外,还需要在URL中对那些保留(reserved)字符和不安全(unsafe)字符进行编码。

所谓保留字符就是那些在URL中具有特定意义的字符。不安全字符是指那些在URL中没有特殊含义,但在URL所在的上下文中可能具有特殊意义的字符。例如双引号(“”)

部分保留字符和不安全字符及其URL编码
字符 描述 用法 编码
; 分号 保留 %3B
/ 斜线 保留 %2F
问号 保留 %3F
: 冒号 保留 %3A
@ “at”符号 保留 %4O
= 等号 保留 %3D
& “和”符号 保留 %26
< 小于号 不安全 %3C
> 大于号 不安全 %3E
" 双引号 不安全 %22
# 井号 不安全 %23
% 百分号 不安全 %25
{ 左大括号 不安全 %7B
} 右大括号 不安全 %7D
| 竖线 不安全 %7C
\ 反斜线 不安全 %5C
^ 加字号 不安全 %5E
~ 波浪 不安全 %7E
[ 左中括号 不安全 %5B
] 右中括号 不安全 %5D
` 反单引号 不安全 %60
  空格 不安全 %20

  

mystr = mystr.replace("'","%2B") //单引号            

mystr = mystr.replace("+","%2B")
mystr = mystr.replace("*","%2A")
mystr = mystr.replace("!","%21")

mystr = mystr.replace("$","%24")



下面是w3schools网站上给出的编码参考

The default character-set in HTML5 is UTF-8.

Character From Windows-1252 From UTF-8
space %20 %20
! %21 %21
" %22 %22
# %23 %23
$ %24 %24
% %25 %25
& %26 %26
' %27 %27
( %28 %28
) %29 %29
* %2A %2A
+ %2B %2B
, %2C %2C
- %2D %2D
. %2E %2E
/ %2F %2F
0 %30 %30
1 %31 %31
2 %32 %32
3 %33 %33
4 %34 %34
5 %35 %35
6 %36 %36
7 %37 %37
8 %38 %38
9 %39 %39
: %3A %3A
; %3B %3B
< %3C %3C
= %3D %3D
> %3E %3E
%3F %3F
@ %40 %40
A %41 %41
B %42 %42
C %43 %43
D %44 %44
E %45 %45
F %46 %46
G %47 %47
H %48 %48
I %49 %49
J %4A %4A
K %4B %4B
L %4C %4C
M %4D %4D
N %4E %4E
O %4F %4F
P %50 %50
Q %51 %51
R %52 %52
S %53 %53
T %54 %54
U %55 %55
V %56 %56
W %57 %57
X %58 %58
Y %59 %59
Z %5A %5A
[ %5B %5B
\ %5C %5C
] %5D %5D
^ %5E %5E
_ %5F %5F
` %60 %60
a %61 %61
b %62 %62
c %63 %63
d %64 %64
e %65 %65
f %66 %66
g %67 %67
h %68 %68
i %69 %69
j %6A %6A
k %6B %6B
l %6C %6C
m %6D %6D
n %6E %6E
o %6F %6F
p %70 %70
q %71 %71
r %72 %72
s %73 %73
t %74 %74
u %75 %75
v %76 %76
w %77 %77
x %78 %78
y %79 %79
z %7A %7A
{ %7B %7B
| %7C %7C
} %7D %7D
~ %7E %7E
  %7F %7F
` %80 %E2%82%AC
%81 %81
%82 %E2%80%9A
%83 %C6%92
%84 %E2%80%9E
%85 %E2%80%A6
%86 %E2%80%A0
%87 %E2%80%A1
%88 %CB%86
%89 %E2%80%B0
%8A %C5%A0
%8B %E2%80%B9
%8C %C5%92
%8D %C5%8D
%8E %C5%BD
%8F %8F
%90 %C2%90
%91 %E2%80%98
%92 %E2%80%99
%93 %E2%80%9C
%94 %E2%80%9D
· %95 %E2%80%A2
%96 %E2%80%93
%97 %E2%80%94
%98 %CB%9C
%99 %E2%84
%9A %C5%A1
%9B %E2%80
%9C %C5%93
%9D %9D
%9E %C5%BE
%9F %C5%B8
  %A0 %C2%A0
%A1 %C2%A1
%A2 %C2%A2
%A3 %C2%A3
¤ %A4 %C2%A4
%A5 %C2%A5
| %A6 %C2%A6
§ %A7 %C2%A7
¨ %A8 %C2%A8
%A9 %C2%A9
a %AA %C2%AA
%AB %C2%AB
%AC %C2%AC
  %AD %C2%AD
%AE %C2%AE
ˉ %AF %C2%AF
° %B0 %C2%B0
± %B1 %C2%B1
2 %B2 %C2%B2
3 %B3 %C2%B3
%B4 %C2%B4
μ %B5 %C2%B5
%B6 %C2%B6
· %B7 %C2%B7
%B8 %C2%B8
1 %B9 %C2%B9
o %BA %C2%BA
%BB %C2%BB
%BC %C2%BC
%BD %C2%BD
%BE %C2%BE
%BF %C2%BF
à %C0 %C3%80
á %C1 %C3%81
%C2 %C3%82
%C3 %C3%83
%C4 %C3%84
%C5 %C3%85
%C6 %C3%86
%C7 %C3%87
è %C8 %C3%88
é %C9 %C3%89
ê %CA %C3%8A
%CB %C3%8B
ì %CC %C3%8C
í %CD %C3%8D
%CE %C3%8E
%CF %C3%8F
D %D0 %C3%90
%D1 %C3%91
ò %D2 %C3%92
ó %D3 %C3%93
%D4 %C3%94
%D5 %C3%95
%D6 %C3%96
× %D7 %C3%97
%D8 %C3%98
ù %D9 %C3%99
ú %DA %C3%9A
%DB %C3%9B
ü %DC %C3%9C
Y %DD %C3%9D
T %DE %C3%9E
%DF %C3%9F
à %E0 %C3%A0
á %E1 %C3%A1
a %E2 %C3%A2
%E3 %C3%A3
%E4 %C3%A4
%E5 %C3%A5
%E6 %C3%A6
%E7 %C3%A7
è %E8 %C3%A8
é %E9 %C3%A9
ê %EA %C3%AA
%EB %C3%AB
ì %EC %C3%AC
í %ED %C3%AD
%EE %C3%AE
%EF %C3%AF
e %F0 %C3%B0
%F1 %C3%B1
ò %F2 %C3%B2
ó %F3 %C3%B3
%F4 %C3%B4
%F5 %C3%B5
%F6 %C3%B6
÷ %F7 %C3%B7
%F8 %C3%B8
ù %F9 %C3%B9
ú %FA %C3%BA
%FB %C3%BB
ü %FC %C3%BC
y %FD %C3%BD
t %FE %C3%BE
%FF %C3%BF

URL Encoding Reference

The ASCII control characters %00-%1F were originally designed to control hardware devices.

Control characters have nothing to do inside a URL.

ASCII Character Description URL-encoding
NUL null character %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 (ring) %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 device control 1 %11
DC2 device control 2 %12
DC3 device control 3 %13
DC4 device control 4 %14
NAK negative acknowledge %15
SYN synchronize %16
ETB end 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


通常情况下,如果对某个字符能否在URL中使用有疑问,那么你应该始终使用该字符的编码。除字母、数字和字符$-_.+!*'()外的其它所有字符都应该使用编码。


    来自: Wdee47 > 《待分类》

    以文找文   |   举报

    猜你喜欢
    发表评论评论公约
    喜欢该文的人也喜欢 更多