Percent-encoding
Special characters needing encoding are: ':'
, '/'
, '?'
, '#'
, '['
, ']'
, '@'
, '!'
, '$'
, '&'
, "'"
, '('
, ')'
, '*'
, '+'
, ','
, ';'
, '='
, as well as '%'
itself. Other characters don't need to be encoded, though they could.
Character | Encoding |
---|---|
':'
|
%3A
|
'/'
|
%2F
|
'?'
|
%3F
|
'#'
|
%23
|
'['
|
%5B
|
']'
|
%5D
|
'@'
|
%40
|
'!'
|
%21
|
'$'
|
%24
|
'&'
|
%26
|
"'"
|
%27
|
'('
|
%28
|
')'
|
%29
|
'*'
|
%2A
|
'+'
|
%2B
|
','
|
%2C
|
';'
|
%3B
|
'='
|
%3D
|
'%'
|
%25
|
' '
|
%20
or +
|
Depending on the context, the character ' '
is translated to a '+'
(like in the percent-encoding version used in an application/x-www-form-urlencoded
message), or in '%20'
like on URLs.
See also
- Definition of percent-encoding in Wikipedia.
- RFC 3986 , section 2.1, where this encoding is defined.
-
encodeURI()
andencodeURIComponent()
— functions to percent-encode URLs