>웹 프론트엔드 >JS 튜토리얼 >encodeURI() 대 encodeURIComponent(): 언제 URL 인코딩에 어느 것을 사용해야 합니까?

encodeURI() 대 encodeURIComponent(): 언제 URL 인코딩에 어느 것을 사용해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-16 20:51:18462검색

encodeURI() vs. encodeURIComponent(): When to Use Which for URL Encoding?

Escape vs. encodeURI / encodeURIComponent: 사용 고려 사항

웹 서버로 보낼 쿼리 문자열을 인코딩할 때 다음 중 하나를 선택합니다. escape() 및 encodeURI() / encodeURIComponent()는 특정 요구 사항에 따라 다릅니다. application.

escape()

escape()는 더 이상 사용이 권장되지 않는 레거시 함수입니다. 바람직하지 않은 특성으로 인해 encodeURI() 및 encodeURIComponent()를 선호하여 더 이상 사용되지 않습니다. 구체적으로 escape()은 @*_ -./를 제외한 특수 문자를 인코딩하며, 코드 단위 값이 0xFF 이하인 문자에 대해 두 자리 16진수 이스케이프 시퀀스를 사용합니다. RFC3986에 정의된 대로 이 형식은 쿼리 문자열에서 허용되지 않습니다.

encodeURI()

encodeURI()는 작업 URL이 필요할 때 사용해야 합니다. 공백, 영숫자가 아닌 문자 등 URI 사양에 포함되지 않은 문자를 인코딩합니다. 단, encodeURI()는 ' 문자를 인코딩하지 않습니다.

encodeURIComponent()

encodeURIComponent()는 URL 매개변수의 값을 인코딩할 때 사용해야 합니다. 공백, 영숫자가 아닌 문자 등 URI 구성 요소에서 유효하지 않은 문자를 인코딩합니다. 또한 encodeURIComponent()는 ' 문자를 인코딩하지 않습니다.

사용 지침

  • 유효한 URL을 생성하려면 encodeURI()를 사용하세요.
  • encodeURIComponent()를 사용하여 URL 값을 인코딩합니다. 매개 변수입니다.
  • 더 이상 사용되지 않는 상태와 인코딩 관련 잠재적인 문제로 인해 escape() 사용을 피하세요.
  • encodeURI()나 encodeURIComponent() 모두 ' 문자를 인코딩하지 않는다는 점을 기억하세요.

위 내용은 encodeURI() 대 encodeURIComponent(): 언제 URL 인코딩에 어느 것을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.