Процентное кодирование
Процентное кодирование — это механизм кодирования 8-битных символов, имеющих определённое значение в контексте URL-адресов. Иногда его называют кодированием URL. Кодирование заключается в замене символа на последовательность, состоящую из знака «%», за которым следует шестнадцатеричное представление значения ASCII заменяемого символа.
Специальные символы, требующие кодирования: ':'
, '/'
, '?'
, '#'
, '['
, ']'
, '@'
, '!'
, '$'
, '&'
, "'"
, '('
, ')'
, '*'
, '+'
, ','
, ';'
, '='
, а также сам символ'%'
. Другие символы не нуждаются в кодировании, хотя она возможна.
Символ | Кодировка |
---|---|
':' |
%3A |
'/' |
%2F |
'?' |
%3F |
'#' |
%23 |
'[' |
%5B |
']' |
%5D |
'@' |
%40 |
'!' |
%21 |
'$' |
%24 |
'&' |
%26 |
"'" |
%27 |
'(' |
%28 |
')' |
%29 |
'*' |
%2A |
'+' |
%2B |
',' |
%2C |
';' |
%3B |
'=' |
%3D |
'%' |
%25 |
' ' |
%20 или + |
В зависимости от контекста символ ' '
преобразуется в '+'
(в версии процентного кодирования, используемой в сообщении application/x-www-form-urlencoded
) или в '%20'
(в URL-адресах).
Смотрите также
- Определение процентного кодирования в Википедии.
- RFC 3986, раздел 2.1, в котором определено это кодирование.
encodeURI()
иencodeURIComponent()
— функции для процентного кодирования URL-адресов