2016-10-07 60 views

回答

2

“。”是允许在未编码形式的URL中使用的字符之一(完整列表here)。所以没有理由将其编码为十六进制表示。这就是为什么你会得到:

“。” - >编码 - >“。”

另一方面,使用“%”语法可以将每个字符替换为其十六进制表示。这就是为什么你会得到:

“%2E” - > decode - >“。”

所以你会得到这种行为对于每个被允许在unecoded形式URL字符:

“一” - >编码 - > “一”

“%61” - >解码 - > “一”

这是google.com的有效网址:

http://%67%6F%6F%67%6C%65%2E%63%6F%6D

相关问题