URL编码
URL - 统一资源定位器(Uniform Resource Locator)
Web 浏览器使用 URL 从 Web 服务器请求页面。
URL 是网页的地址,比如:https://www.baidu.com。
URL 编码(百分比编码)
URL 编码将字符转换为可通过因特网传输的格式。
URL 只能使用 ASCII 字符集 通过因特网进行发送。
由于 URL 通常包含 ASCII 集之外的字符,因此必须将 URL 转换为有效的 ASCII 格式。
URL 编码使用后跟十六进制数字的 "%" 替代不安全的 ASCII 字符。
URL 不能包含空格。URL 编码通常使用加号(+)或 %20 替代空格。
ASCII 编码参考手册
浏览器将根据页面中使用的字符集对输入进行编码。
HTML5 中的默认字符集为 UTF-8。
字符 来自 Windows-1252 来自 UTF-8
space %20 %20
! %21 %21
" %22 %22
# %23 %23
$ %24 %24
% %25 %25
& %26 %26
' %27 %27
( %28 %28
) %29 %29
* %2A %2A
+ %2B %2B
, %2C %2C
- %2D %2D
. %2E %2E
/ %2F %2F
0 %30 %30
URL 编码参考手册
ASCII 控制字符 %00-%1F 最初旨在控制硬件设备。
控制字符与 URL 无关。
ASCII 字符 描述 URL-encoding
NUL null character %00
SOH start of header %01
STX start of text %02
ETX end of text %03
EOT end of transmission %04
ENQ enquiry %05
ACK acknowledge %06
BEL bell (ring) %07
BS backspace %08
HT horizontal tab %09
LF line feed %0A
VT vertical tab %0B
FF form feed %0C
CR carriage return %0D
SO shift out %0E
SI shift in %0F
DLE data link escape %10
DC1 device control 1 %11
DC2 device control 2 %12
DC3 device control 3 %13
DC4 device control 4 %14
NAK negative acknowledge %15
SYN synchronize %16
ETB end transmission block %17
CAN cancel %18
EM end of medium %19
SUB substitute %1A
ESC escape %1B
FS file separator %1C
GS group separator %1D
RS record separator %1E
US unit separator %1F