>웹 프론트엔드 >JS 튜토리얼 >JS_javascript 기술로 문자열을 인코딩하는 여러 방법에 대한 안내

JS_javascript 기술로 문자열을 인코딩하는 여러 방법에 대한 안내

WBOY
WBOY원래의
2016-05-16 15:59:151227검색

기능 설명
encodeURI()는 문자열을 URI
로 인코딩합니다. encodeURIComponent()는 문자열을 URI 구성 요소로 인코딩합니다
escape()는 문자열을 인코딩합니다

위는 w3school에서 데이터를 쿼리한 것입니다. 그러면 이 세 가지의 차이점은 무엇입니까? 테스트해 보시기 바랍니다.

코드 복사 코드는 다음과 같습니다.

var str = "http://localhost:8080/Product/index?id=123&attr=456&area=중국";
console.log(encodeURI(str));
console.log(encodeURIComponent(str));
console.log(escape(str));

인쇄 결과는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

http://localhost:8080/Product/index?id=123&attr=456&area=중국
http://localhost:8080/Product/index?id=123&attr=456&area=중국
http://localhost:8080/Product/index?id=123&attr=456&area=%u4E2D%u56FD

보시다시피

encodeURI는 다음과 같이 URI에서 분할에 사용되는 문자를 인코딩하지 않습니다:/?&;

encodeURIComponent가 됩니다.

이스케이프를 관찰한 결과 :?&는 트랜스코딩되었지만 /는 트랜스코딩되지 않았음을 발견했습니다. w3school 설명에 따르면 이스케이프 기능은 ASCII 코드에서 문자, 숫자 및 기호(* @ - _ . /)를 제외한 모든 문자를 처리한다는 것입니다. .인코딩합니다.

또한 한자 "China"를 이스케이프 인코딩한 후의 결과가 처음 두 개와 다른 것을 확인할 수 있습니다. W3SCHOOL에서는 이 방법을 사용하지 않고 처음 두 가지 방법을 대신 사용할 것을 권장합니다.

이상 내용이 이 글의 전체 내용입니다. 자바스크립트를 배우시는 모든 분들께 도움이 되었으면 좋겠습니다.

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