百分號編碼
百分比編碼是一種在 URL 上下文中對具有特定含義的 8 位字元進行編碼的機制。它有時也被稱為 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 訊息的百分比編碼版本中),或者像在 URL 中一樣變成 '%20'。
另見
- 維基百科上關於 百分比編碼 的定義。
- RFC 3986,第 2.1 節,定義了此編碼。
encodeURI()和encodeURIComponent()— 用於百分比編碼 URL 的函式