鍍金池/ 問(wèn)答/HTML/ urlencode/decode中冒號(hào)“:”是否會(huì)被轉(zhuǎn)義?

urlencode/decode中冒號(hào)“:”是否會(huì)被轉(zhuǎn)義?

http://www.w3school.com.cn/ta...
中url編號(hào)中有寫(xiě)到將:號(hào)轉(zhuǎn)成%3a,但是:
1, 瀏覽器中輸入www.baidu.com?x=a b,會(huì)被轉(zhuǎn)成https://www.baidu.com/?x=a%20b;但是輸入wwww.baidu.com?x=a:b則不會(huì)轉(zhuǎn)碼。
2, decodeURL("%3a")不會(huì)做轉(zhuǎn)化
3, 同時(shí)我查了資料https://www.baidu.com/s?ie=ut... 中有提到:冒號(hào)是合法字符。

請(qǐng)問(wèn)這個(gè)矛盾如何解釋?如何將Node.js收到的%3a轉(zhuǎn)成:冒號(hào)?(如果不用replace()的話)

回答
編輯回答
有你在

encodeURI 該方法的目的是對(duì) URI 進(jìn)行完整的編碼,因此對(duì)以下在 URI 中具有特殊含義的 ASCII 標(biāo)點(diǎn)符號(hào),encodeURI() 函數(shù)是不會(huì)進(jìn)行轉(zhuǎn)義的:;/?:@&=+$,#
如果 URI 組件中含有分隔符,比如 ? 和 #,則應(yīng)當(dāng)使用 encodeURIComponent() 方法分別對(duì)各組件進(jìn)行編碼。

encodeURIComponent('a:b')
decodeURIComponent('a%3Ab')
2017年10月10日 15:19