我对url encode / decode有疑问。 当我url解码“%2E”时,我得到“。”。 但是当我url编码“。”时,我得到“。”
我在http://www.url-encode-decode.com/这样的网站上试试。 你能告诉我为什么会这样吗?
答案 0 :(得分:2)
“”。是允许在未编码形式的url中使用的字符之一(完整列表here)。因此没有理由将其编码为十六进制表示。这就是你得到的原因:
“”。 - >编码 - > “”
另一方面,每个字符都可以使用“%”语法替换为其十六进制表示。这就是你得到的原因:
“%2E” - >解码 - > “”
因此,您将以未编码的形式为url中允许的每个字符获取此行为:
“a” - >编码 - > “一”
“%61” - >解码 - > “一”
这是google.com的有效网址: