百分号编码

百分号编码(有时也被称为 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 消息),或者将会转换为 '%20'(如 URL 中)。

参见