escape() 메서드:
ISO 라틴 문자 집합을 사용하여 지정된 문자열을 인코딩합니다. 모든 공백, 구두점, 특수 문자 및 기타 비ASCII 문자는 %xx 형식의 문자 인코딩으로 변환됩니다(xx는 문자 집합 테이블에 있는 문자 인코딩의 16진수와 동일합니다). 예를 들어 공백 문자에 해당하는 인코딩은 입니다.
이 메서드로 인코딩되지 않는 문자: @ * /
encodeURI() 메서드:
UTF-8 인코딩 형식을 사용하여 URI 문자열을 이스케이프 형식 문자열로 변환합니다.
이 방법으로 인코딩되지 않는 문자: ! @ # $& * ( ) = : / ? '
encodeURIComponent() 방법:
URI 문자열을 UTF-로 변환합니다. 8 인코딩 형식은 이스케이프 형식의 문자열로 변환됩니다. encodeURI()와 비교하여 이 메서드는 / 및 기타 문자와 같은 더 많은 문자를 인코딩합니다. 따라서 문자열에 URI의 여러 부분이 포함되어 있으면 이 방법을 사용하여 인코딩할 수 없습니다. 그렇지 않으면 / 문자가 인코딩된 후 URL에 오류가 표시됩니다.
이 방법으로 인코딩되지 않는 문자: ! * ( ) '
따라서 중국어 문자열의 경우 문자열 인코딩 형식을 UTF-8 형식(예: 원본 페이지 및 target 페이지의 문자셋이 일치하는 경우) Escape만 사용하면 됩니다. 페이지가 GB2312 또는 기타 인코딩이고 매개변수를 허용하는 페이지가 UTF-8로 인코딩된 경우 encodeURI 또는 encodeURIComponent를 사용해야 합니다.
또한 javascript1.5 이후에 encodeURI/encodeURIComponent가 도입되었으며, javascript1.0 버전에서는 escape가 가능했습니다