[JS] encode 함수 비교
| encodeURI | () | 함수 |
문자열을 유효한 URI(Uniform Resource Identifier)로 인코딩합니다. 문자가 기본 문자의 소규모 그룹에 속하지 않은 경우 전체 URI를 모든 문자가 UTF-8 이스케이프 시퀀스로 인코딩된 문자열로 변환합니다.
다음 표에서는 encodeURI 함수를 통해 UTF-8 이스케이프 시퀀스로 변환되지 않는 기본 문자 세트 전체를 보여 줍니다.
| 인코딩되지 않는 문자 |
|---|
0
1 2 3 4 5 6 7 8 9 |
a
b c d e f g h i j k l m n o p q r s t u v w x y z |
A
B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
;
/ ? : @ & = + $ , # |
-
_ . ! ~ * ' ( ) |
| encodeURIComponent | () | 함수 |
문자열을 유효한 URI 구성 요소로 인코딩합니다. 문자가 기본 문자의 매우 작은 그룹에 속하지 않은 경우 URI의 하위 문자열을 모든 문자가 UTF-8 이스케이프 시퀀스로 인코딩된 문자열로 변환합니다.
encodeURIComponent() 함수는 URI 구성 요소라고 하는 URI 문자열 부분에만 사용된다는
점에서 encodeURI() 함수와 다릅니다. URI 구성 요소는 구성 요소 분리 기호(:
/ ; 및 ? )라고 불리는 특수 문자 사이에 나타나는
모든 텍스트입니다. URI 구성 요소의 일반적인 예로는 "http" 및 "www.adobe.com"이 있습니다.
이 함수와 encodeURI() 사이의 또 다른 중요한 차이점은, 이 함수에서는 URI 구성 요소를 처리하는
것으로 가정하므로 특수 분리 기호 문자(;
/ ? : @ & = + $ , #)가 인코딩 대상인 일반 텍스트로 취급된다는 점입니다.
다음 표에서는 encodeURIComponent 함수를 통해 UTF-8 이스케이프 시퀀스로 변환되지 않는 문자를 모두 보여 줍니다.
| 인코딩되지 않는 문자 |
|---|
0
1 2 3 4 5 6 7 8 9 |
a
b c d e f g h i j k l m n o p q r s t u v w x y z |
A
B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
-
_ . ! ~ * ' ( ) |
| escape | () | 함수 |
매개 변수를 문자열로 변환하고 URL 인코딩 형식으로 인코딩합니다. 이때 영숫자가 아닌 문자는 대부분 % 16진수 시퀀스로 바뀝니다. URL 인코딩 문자열에 사용된 퍼센트
기호(%)는
이스케이프 문자를 시작하는 역할을 하며 모듈러스 연산자(%)와
다릅니다.
다음 표에서는 escape() 함수를 통해 이스케이프 시퀀스로 변환되지 않는 문자를 모두 보여 줍니다.
| 인코딩되지 않는 문자 |
|---|
0
1 2 3 4 5 6 7 8 9 |
a
b c d e f g h i j k l m n o p q r s t u v w x y z |
A
B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
@
- _ . * + /
|
출처 : http://manacle.egloos.com/4776614 |