>  기사  >  웹 프론트엔드  >  자바스크립트 세 가지 인코딩 및 디코딩 방법_자바스크립트 기술

자바스크립트 세 가지 인코딩 및 디코딩 방법_자바스크립트 기술

WBOY
WBOY원래의
2016-05-16 18:35:371886검색

1. 매개변수 전달 시 encodeURIComponent를 사용해야 결합된 URL이 #과 같은 특수 문자로 인해 잘리지 않습니다.

예:


2. URL 점프를 수행할 때 encodeURI를 전체적으로 사용할 수 있습니다.

예: Location.href=encodeURI("http:/ /cang.baidu .com/do/s?word=Baidu&ct=21");

3. js에서 데이터를 사용할 때 이스케이프를 사용할 수 있습니다[Huoho.Com 편집기]

예를 들어 : 수집된 역사 기록 .

4. Escape가 0~255 이외의 유니코드 값을 인코딩하는 경우 %u**** 형식으로 출력됩니다. 그 외의 경우 Escape, encodeURI, encodeURIComponent의 인코딩 결과는 동일합니다.

가장 일반적으로 사용되는 것은 중국어, 한국어 및 기타 특수 문자를 utf-8 형식의 URL 인코딩으로 변환하는 encodeURIComponent입니다. 따라서 매개변수를 백그라운드로 전달하기 위해 encodeURIComponent를 사용해야 하는 경우에는 다음이 필요합니다. utf-8을 지원하기 위한 백그라운드 디코딩. (양식의 인코딩 방식은 현재 페이지의 인코딩 방식과 동일)

escape로 인코딩되지 않은 문자는 69개입니다: *, , -, . , /, @, _, 0-9, a-z, A-Z

encodeURI에는 82개의 인코딩되지 않은 문자가 있습니다: !, #, $, &, ', (,), *, ,,, -,. ,/,:,;,=,?,@,_,~, 0-9, a-z, A-Z

encodeURIComponent에는 71개의 인코딩되지 않은 문자가 있습니다: !, ', (,), *, -, ., _, ~, 0-9, a-z, A-Z

================================= ================= ========

이스케이프 해제 메서드

다음으로 인코딩된 String 개체에서 디코딩된 문자열을 반환합니다. 탈출 방법.

function unescape(charString : String) : String


매개변수

charString

필수입니다. 디코딩할 String 개체 또는 텍스트입니다.

비고

unescape 메소드는 charstring의 내용을 포함하는 문자열 값을 반환합니다. %xx 16진수 형식으로 인코딩된 모든 문자는 ASCII 문자 집합의 해당 문자로 대체됩니다. %uxxxx(유니코드 문자) 형식으로 인코딩된 문자는 16진수 인코딩 xxxx를 사용하는 유니코드 문자로 대체됩니다. 참고 URI(Uniform Resource Identifier)를 디코딩하는 데 이스케이프 해제 메서드를 사용하면 안 됩니다. 대신 decodeURI 및 decodeURIComponent 메소드를 사용하십시오.

decodeURI 메소드

인코딩된 URI(Uniform Resource Identifier)의 인코딩되지 않은 형식을 반환합니다.

함수 decodeURI(URIstring : String) : 문자열

매개변수

URIstring

필수입니다. 인코딩된 URI를 나타내는 문자열입니다.

비고

오래된 unescape 메서드 대신 decodeURI 메서드를 사용하세요.

decodeURI 메소드는 문자열 값을 반환합니다.

URIString이 유효하지 않으면 URIError가 발생합니다.

decodeURIComponent 메서드

URI(Uniform Resource Identifier)의 인코딩된 구성 요소를 인코딩되지 않은 형식으로 반환합니다.

function decodeURIComponent(encodedURIString : String) : String

필수 EncodeURIString 매개변수는 인코딩된 URI 구성 요소를 나타내는 값입니다.

설명
URIComponent는 전체 URI의 일부입니다.

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