åå®ä¸ä¸ª URI æ¯å®æ´ç URIï¼é£ä¹æ é对é£äºä¿ççå¹¶ä¸å¨ URI ä¸æç¹æ®ææçå符è¿è¡ç¼ç ã
http://username:password@www.example.com:80/path/to/file.php?foo=316&bar=this+has+spaces#anchor
encodeURI
伿¿æ¢ææçå符ï¼ä½ä¸å
æ¬ä»¥ä¸å符ï¼å³ä½¿å®ä»¬å
·æéå½ç UTF-8 转ä¹åºåï¼
;
,
/
?
:
@
&
=
+
$
é转ä¹çå符 忝 æ°å -
_
.
!
~
*
'
(
)
æ°åç¬¦å· #
请注æï¼encodeURI
èªèº«æ æ³äº§çè½éç¨äº HTTP GET æ POST 请æ±ç URIï¼ä¾å¦å¯¹äº XMLHTTPRequestsï¼å 为 "&", "+", å "=" ä¸ä¼è¢«ç¼ç ï¼ç¶èå¨ GET å POST 请æ±ä¸å®ä»¬æ¯ç¹æ®å符ãç¶èencodeURIComponent
è¿ä¸ªæ¹æ³ä¼å¯¹è¿äºå符ç¼ç ã
å¦å¤ï¼å¦æè¯å¾ç¼ç ä¸ä¸ªéé« - ä½ä½å®æ´ç代çå符ï¼å°ä¼æåºä¸ä¸ª URIError
é误ï¼ä¾å¦ï¼
// ç¼ç é« - ä½ä½å®æ´å符 ok
console.log(encodeURI("\uD800\uDFFF"));
// ç¼ç åç¬çé«ä½å符æåº "Uncaught URIError: URI malformed"
console.log(encodeURI("\uD800"));
// ç¼ç åç¬çä½ä½å符æåº "Uncaught URIError: URI malformed"
console.log(encodeURI("\uDFFF"));
å¹¶ä¸éè¦æ³¨æï¼å¦æ URL éè¦éµå¾ªè¾æ°çRFC3986æ åï¼é£ä¹æ¹æ¬å·æ¯è¢«ä¿çç (ç» IPv6)ï¼å æ¤å¯¹äºé£äºæ²¡æè¢«ç¼ç ç URL é¨å (ä¾å¦ä¸»æº)ï¼å¯ä»¥ä½¿ç¨ä¸é¢ç代ç ï¼
function fixedEncodeURI(str) {
return encodeURI(str).replace(/%5B/g, "[").replace(/%5D/g, "]");
}
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4