>  기사  >  웹 프론트엔드  >  URL_javascript 기술의 특수 기호 사용 소개

URL_javascript 기술의 특수 기호 사용 소개

WBOY
WBOY원래의
2016-05-16 17:59:501033검색

URL은 범용 자원 식별자 URI 유형인 URL(Uniform Resource Locator)입니다.

유효한 URI에는 공백 등의 특정 문자가 포함될 수 없으므로 해당 인코딩 기능을 사용하여 URI가 인코딩되지 않으면(브라우저가 해당 URL을 처리함) 유효한 리소스에 액세스할 수 없습니다. .
그중 encodeURI와 decodeURI는 반대 방식으로 처리되고, encodeURIComponent와 decodeURIComponent는 반대 방식으로 처리되며, escape와 unescape는 반대 방식으로 처리됩니다.

encodeURI는 전체 URI를 처리하고, encodeURIComponent는 URI 조각을 처리하며, encodeURI 인코딩은 다음을 제외합니다. ,#,엔,&,',(,),×, ,,,-,.,/,:,;,=,? , @, _, ~, 0-9, a-z, A-Z 이외의 문자(총 82개), encodeURIComponent는 !, ', (,), *, -, ., _, ~, 0- 이외의 문자를 인코딩합니다. 9, a-z, A-Z 이외의 문자(총 71개), 이스케이프는 *, , -, ., /, @, _, 0-9, a-z, A-Zs(총 61개) 이외의 문자를 인코딩합니다.

서버(서버는 64비트 운영 체제)에서 이름에 특수 문자( )가 포함된 파일을 요청할 때 encodeURI, decodeURIComponent 또는 escape를 사용하면 해당 리소스가 존재하지 않는다는 메시지가 표시됩니다. 이거요?

js 코드:


url =" http://192.168.6.135/nas135/MyDocument/1 2.txt"
window.open(EncodeURI(url),"","","")


디버그를 통해
EncodeURI(url)="http://192.168.6.135/nas135/MyDocument/1+2.txt"를 보았으나 서버측에서 1 2.txt 파일을 열 수 없습니다. 64 때문인지는 모르겠지만 기계의 이유는? 설명해 주시겠습니까?
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.