자바스크립트 URL 인코딩 시 알고 있으면 좋은 점



자바스크립트에서 URL인코딩을 할 때 보통 encodeURIComponent(str)또는 encodeURI(str)를 사용 합니다.


encodeURIComponent 함수(JavaScript)

텍스트 문자열을 URI 구성요소로 인코딩 합니다.


encodeURIComponent 함수는 인코딩된 URI를 반환합니다. 

decodeURIComponent에 결과를 전달하면 원래 문자열이 반환 됩니다.



encodeURI 함수(JavaScript)


텍스트 문자열을 유효한 URI로 인코딩 합니다.


encodeURL 함수는 인코딩된 URI를 반환합니다. decodeURI에 결과를 전달하면 원래 문자열이 반환됩니다. 


encodeURI 함수는 ":", "/", ";", "?"등의 문자를 인코딩하지 않으므로 이 문자들을 인코딩 하려면 encodeURIComponent를 사용합니다.



두 함수의 설명을 읽어보면 비슷하지만 encodeURI는 몇가지 문자를 인코딩하지 않는다고 나와있습니다.


인코딩 하지 않는 문자를 표로보면 다음과 같습니다.


 함수

인코딩 하지 않는 문자 

 escape()

 @, *, /, +

 encodeURI()

 ~, !, @, #, $, &, *, (, ), =, :, /, ,, ;, ?, +, '

 encodeURIComonent()

 ~, !, *, (, ), '



표에 콤마도 같이 섞여있어서 보기가 힘들지만 각각의 인코딩함수에는 이러한 차이가 있습니다.

+ Recent posts