자바스크립트 Encoding 함수

2022-02-24

[JavaScript] 문자 인코딩 함수 : escape() encodeURI() encodeURIComponent()

escape(string) : ASCII(아스키) 문자를 유니코드 형식으로 변환

바이트는 %XX 2바이트는 %uXXXX형태로 변환

unescape(string) : 유니코드문자를 디코딩

encodeURI(string) : 주어진 문자열을 URI로 특수문자( : ; / = ? & 등의 특수문자) 제외 encoding 한다.

decodeURI(string) : 주어진 문자열에서 encoding 된 URI를 decoding 한다.

encodeURIComponent(string) : 주어진 문자열을 URI로 모든 문자( : ; / = ? & 등의 특수문자)를 encoding 한다.

decodeURIComponent(string) : 주어진 문자열에서 encoding 된 URI를 decoding 한다.

​Server-Side Javascript

<script language="javascript" runat="server">
function decodeUTF8(str){
 // 특수문자도 포함할 경우  decodeURIComponent(str) 를 사용. 

   return decodeURI(str); 
}
function encodeUTF8(str){
// 특수문자도 포함할 경우  encodeURIComponent(str) 를 사용.
     return encodeURI(str);
}
</script> 
  • 실제 사용 CASE HISTORY

팝업을 obj를 넘겨 호출하는 경우에서 한글 데이의 경우 인코딩이 깨지는 현상 발생

  • 해결방법 넘기는 파라미터를 인코딩하여 넘기고

팝업창에서 받을 때 다시 디코딩하여 사용하였음..

  • encodeURI(string)
var obj = {
    "testData", "한글데이터"
    "testData2", "한글데이터2"
}

넘길때....

ex) var testData = encodeURI(obj.testData);

받을 때....

var testData2 = decodeURI(obj.testData)

출처 : [https://rosalife.tistory.com/48]