JavaScript에는 문자열을 인코딩 할 수있는 세 가지 기능, 즉 Escape, Encodeuri, Encodeuri 및 EncodeUricomponent가 있습니다. 해당 세 가지 디코딩 기능 : Unesce, Decodeuri 및 Decodeuricomponent.
다음은 차이점에 대한 간단한 소개입니다.
1 Escape () 함수
정의 및 사용법
Escape () 함수는 문자열을 모든 컴퓨터에서 읽을 수 있도록 문자열을 인코딩합니다.
문법
탈출 (문자열)
매개 변수 설명
문자열이 필요합니다. 이스케이프하거나 인코딩 할 문자열.
반환 값
인코딩 된 문자열의 사본. 이 문자 중 일부는 16 진 탈출 시퀀스로 대체됩니다.
설명
이 방법은 ASCII 문자와 숫자를 인코딩하지 않으며 다음 ASCII 구두점 마크도 제공하지 않습니다. ! ~ * '(). 다른 모든 문자는 탈출 된 시퀀스로 대체됩니다.
2 encodeuri () 함수
정의 및 사용법
encodeuri () 함수는 문자열을 uris로 인코딩 할 수 있습니다.
문법
encodeuri (uristring)
매개 변수 설명
Uristring이 필요합니다. 인코딩 할 URI 또는 기타 텍스트가 포함 된 문자열.
반환 값
Uristring의 사본, 그 중 일부는 16 진수 탈출 시퀀스로 대체됩니다.
설명
이 방법은 ASCII 문자와 숫자를 인코딩하지 않으며 이러한 ASCII 구두점 마크를 인코딩하지도 않습니다. ! ~ * '().
이 방법의 목적은 URI를 완전히 인코딩하는 것입니다. 따라서 Encodeuri () 함수는 URI에서 특별한 의미를 가진 다음 ASCII 구두점 마크를 피하지 않습니다 :/? :@& =+$,#.
3 EncodeUricomponent () 함수
정의 및 사용법
EncodeUricomponent () 함수는 문자열을 URI 구성 요소로 인코딩 할 수 있습니다.
문법
EncodeUricomponent (uristring)
매개 변수 설명
Uristring이 필요합니다. URI 구성 요소 또는 인코딩 할 다른 텍스트를 포함하는 문자열.
반환 값
Uristring의 사본, 그 중 일부는 16 진수 탈출 시퀀스로 대체됩니다.
설명
이 방법은 ASCII 문자와 숫자를 인코딩하지 않으며 이러한 ASCII 구두점 마크를 인코딩하지도 않습니다. ! ~ * '().
다른 문자 (예 :;/? :@& =+$,# URI 구성 요소를 분리하는 데 사용되는이 구두점 마크는 하나 이상의 16 진수 탈출 시퀀스로 대체됩니다.
팁과 의견
팁 : EncodeUricomponent () 함수와 EncodeUri () 함수의 차이점에 유의하십시오. 전자는 매개 변수가 URI의 일부라고 가정합니다 (예 : 프로토콜, 호스트 이름, 경로 또는 쿼리 문자열). 따라서 EncodeUricomponent () 함수는 URI의 개별 부분을 분리하는 데 사용되는 문장 부호 마크를 피할 수 있습니다.
4 요약 :
세 가지 함수의 분석을 통해 Escape ()가 ASCII 문자, 숫자 및 특정 기호를 제외한 모든 통과 된 문자열을 탈출한다는 것을 알 수 있습니다. 따라서 URL을 인코딩하려면이 방법을 사용하지 않는 것이 가장 좋습니다. Encodeuri ()는 URI의 법적 문자 중 어느 것도 인코딩 및 변환되지 않기 때문에 전체 URI를 인코딩하는 데 사용됩니다. EncodeUricomponent 메소드는 단일 Uricomponent (요청 매개 변수 참조)를 인코딩 할 때 가장 일반적으로 사용되어야합니다. 전체 URL에 영향을 미치지 않고 매개 변수에서 중국어와 특수 문자를 피할 수 있습니다.
5 예 :
1 탈출 ()
<script type = "text/javascript"> docum
산출:
HTTP%3A // www.w3school.com.cn%3f%21%3d 28%29%23%25%26
2 encodeuri ()
<script type = "text/javaScript"> docum FIRST/")) document.write (encodeuri (",/? :@& =+$#") </script>산출:
http://www.w3school.com.cn/http://www.w3school.com.cn/my%20first/,/?:@&=+$#
전체 URL이 인코딩되고 URL의 특정 식별자가 트랜스 코딩되지 않습니다.
3 EncodeUricomponent ()
Example 1:
<script type = "text/javaScript"> docum /> ") document.write (encodeUricomponent (",/? :@& =+$#") </script>산출:
http%3A%2f%2fwww.w3school.com.cnhttp%3A%2f%2fwww.w3school.com.cn%2fp%201%2f%2c%2f%3f%3A%40%26%3D 2B%24%23
Example 2:
<script language = "javaScript"> docum
매개 변수가 URL이기 때문에 URL의 매개 변수를 인코딩합니다. 인코딩되지 않은 경우 전체 URL의 점프에 영향을 미칩니다.