티스토리 뷰

반응형

Javascript의 인코딩 함수에 대해 알아보겠습니다.

 

인코딩 함수는 웹을 통해서 데이터 전송 시에 문자를 변환하기 위해 사용합니다. 전송 시에 한글이나 특수문자가 들어간 긴 텍스트형 데이터들을 전송할 때 문제가 생겨 오류가 날 수 있기 때문에 미연에 방지하기 위해 사용합니다.

 

http://www.tistory.com?a=travel&b=park 이란 값을 전송할 때 b=park 대신 b=park&picnic 값으로 변경할 경우 

b는 park&picnic이란 값을 보내야하는데 b값을 제대로 보내지 못합니다. 

 

'&'가 파라미터와 다음 파라미터의 사이를 구분하는 의미로 쓰이기 때문입니다. 이런 경우 인코딩 함수를 쓰게 되는데 

b=escape(park&picnic) 이런 식으로 escape 함수를 사용해주면 b=park%26picnic 값으로 변환해서 전송해주게 됩니다.

 

Javascript 인코딩 함수는 escape(), encodeURI(), encodeURIComponent() 이렇게 3가지가 있습니다.

 

1. escape() 

영문 대/소문자, 숫자, 특수문자(@*-_+./)를 제외하고 모두 유니코드 형식으로 인코딩합니다.

2. encodeURI()

인터넷 주소에 쓰이는 특수문자는 인코딩하지 않습니다. ( / ? & ; = )

 

3. encodeURIComponent()

인터넷 주소에 쓰이는 특수문자도 함께 인코딩합니다. ( / ? & ; = )
파라미터 값으로 주소값을 넣는 경우 많이 사용합니다. 

 

각각의 함수가 이런 특성들을 가지고 있기 때문에 상황에 맞게 함수를 골라 사용하시면 되겠습니다.

 

인코딩해서 넘긴 값을 원래 값으로 바꾸기 위해서는 디코딩을 해주어야하는데 디코딩 함수는 아래와 같습니다.

 

escape() -> unescape()
encodeURI() -> decodeURI()
encodeURIComponent() -> decodeURICompoonent()

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함