URL Encoding

When the client sends data to a CGI program using the Content-type of application/x-www-form-urlencoded, certain special characters are encoded to eliminate ambiguity. Table 1.1 shows which characters are transformed and which are not transformed. For more information on URLs, see RFC 1738.

Table 1.1. Character Encoding

ASCII

Symbol

CGI Representation

< 32

Always encode with %xx where xx is the hexadecimal representation of the character

32
+ or %20
33
!
%21
34
"
%22
35
#
%23
36
$
%24
37
%
%25
38
&
%26
39
'
%27
40
(
%28
41
)
%29
42
*
*
43
+
%2B
44
,
%2C
45
-
-
46
.
.
47
/
%2F
48
0
0
49
1
1
50
2
2
51
3
3
52
4
4
53
5
5
54
6
6
55
7
7
56
8
8
57
9
9
58
:
%3A
59
;
%3B
60
<
%3C
61
=
%3D
62
>
%3E
63
?
%3F
64
@
%40
65
A
A
66
B
B
67
C
C
68
D
D
69
E
E
70
F
F
71
G
G
72
H
H
73
I
I
74
J
J
75
K
K
76
L
L
77
M
M
78
N
N
79
O
O
80
P
P
81
Q
Q
82
R
R
83
S
S
84
T
T
85
U
U
86
V
V
87
W
W
88
X
X
89
Y
Y
90
Z
Z
91
[
%5B
92
\
%5C
93
]
%5D
94
^
%5E
95
_
_
96
`
%60
97
a
a
98
b
b
99
c
c
100
d
d
101
e
e
102
f
f
103
g
g
104
h
h
105
i
i
106
j
j
107
k
k
108
l
l
109
m
m
110
n
n
111
o
o
112
p
p
113
q
q
114
r
r
115
s
s
116
t
t
117
u
u
118
v
v
119
w
w
120
x
x
121
y
y
122
z
z
123
{
%7B
124
|
%7C
125
}
%7D
126
~
%7E

Get HTTP Pocket Reference now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.