¾È±Ô °øºÎ¹æ

Javascript & JQuery & CSS > Javascript - URL ÀÎÄÚµù/µðÄÚµù - encodeURI(), decodeURI(), encodeURIComponent(), escape(), unescape()

µî·ÏÀÏ : 2017-06-29 17:27 Á¶È¸¼ö : 36,948

ÀÚ¹Ù½ºÅ©¸³Æ®(JavaScript)¿¡¼­´Â ´ÙÀ½ÀÇ ÇÔ¼öµé·Î, HTML ÆäÀÌÁö ÁÖ¼Ò¸¦ ÀÎÄÚµù/µðÄÚµùÇÕ´Ï´Ù.
    
1. encodeURI() / decodeURI()

ÃÖ¼ÒÇÑÀÇ ¹®ÀÚ¸¸ ÀÎÄÚµùÇÕ´Ï´Ù.
; / ? : @ & = + $ , - _ . ! ~ * ' ( ) #
ÀÌ·± ¹®ÀÚ´Â ÀÎÄÚµùÇÏÁö ¾Ê½À´Ï´Ù.
http:// ... µîÀº ±×´ë·Î ³ª¿É´Ï´Ù.

2. encodeURIComponent() / decodeURIComponent()
    
¾ËÆĺª°ú ¼ýÀÚ Alphanumeric Characters ¿ÜÀÇ, ´ëºÎºÐÀÇ ¹®ÀÚ¸¦ ¸ðµÎ ÀÎÄÚµùÇÕ´Ï´Ù.
http:// ... °¡ http%3A%2F%2F ·Î µË´Ï´Ù.

3. escape() / unescape()
    
¿¹ÀüºÎÅÍ ÀÖ´ø ¿À·¡µÈ ÇÔ¼öÀÔ´Ï´Ù. encodeURI() ¿Í encodeURIComponent() ÀÇ Áß°£ Á¤µµÀÇ ¹üÀ§·Î ¹®ÀÚ¸¦ ÀÎÄÚµùÇÕ´Ï´Ù.
 
var s;

s = encodeURI('http://www.google.co.kr/¼Ò ¼³.html');
document.write(s);
        
// Ãâ·Â °á°ú: http://www.google.co.kr/%EC%86%8C%20%EC%84%A4.html


s = encodeURIComponent('http://www.google.co.kr/¼Ò ¼³.html');
document.write(s);
        
// Ãâ·Â °á°ú: http%3A%2F%2Fwww.google.co.kr%2F%EC%86%8C%20%EC%84%A4.html


s = escape('http://www.google.co.kr/¼Ò ¼³.html');
document.write(s);
        
// Ãâ·Â °á°ú: http%3A//www.google.co.kr/%uC18C%20%uC124.html
        
¾î¶² ÇÔ¼öµç "°ø¹é ¹®ÀÚ" Áï ½ºÆäÀ̽º´Â %20 À¸·Î ġȯÇÕ´Ï´Ù. ±×·¯³ª ÁÖ¼ÒÀÇ °ø¹éÀº ¾ø¾î¾ß ÇÕ´Ï´Ù.
ÀÎÅÍ³Ý ÁÖ¼Ò⠵¼­, ¸¹Àº ÆÛ¼¾Æ®(%) ±âÈ£µéÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. 
¾ËÆĺª°ú ¼ýÀÚ°¡ ¾Æ´Ñ, Ư¼ö ¹®ÀÚ³ª ÇѱÛÀÌ ÀÎÄÚµùµÇ¾î ÀÖ´Â °ÍÀÔ´Ï´Ù. 
    
ÀÌ°ÍÀ» Çص¶Çϱâ À§Çؼ­´Â µðÄÚµù(decoding) °úÁ¤À» °ÅÃÄ¾ß ÇÕ´Ï´Ù. 


¿¹¸¦ µé¾î, %EC%86%8C%EC%84%A4¸¦ decodeURI() ÇÔ¼ö·Î µðÄÚµùÇÏ¸é ¼Ò¼³À̶ó´Â ¹®ÀÚ¿­ÀÌ ³ªÅ¸³³´Ï´Ù. 
    
±×·¯³ª ¸¸¾à escape() ÇÔ¼ö·Î ÀÎÄÚµùÇÑ´Ù¸é, ¼Ò¼³À̶ó´Â ¹®ÀÚ¿­ÀÌ %uC18C%uC124 ÀÌ·¸°Ô Ç¥ÇöµË´Ï´Ù. ÀÌ°ÍÀº unescape() ÇÔ¼ö·Î Ç®¾î¾ß ÇÕ´Ï´Ù. 
    
encodeURIComponent() ÇÔ¼ö´Â encodeURI() ÇÔ¼öº¸´Ù, ´õ ³ÐÀº ¹üÀ§ÀÇ ¹®ÀÚµéÀ» ÀÎÄÚµùÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù.

À§ÀÇ ÇÔ¼öµéÀÇ ¼³¸íÀ» º¸¸é ¸ðµÎ ¹®ÀÚ¸¦ ¿µ¹®, ¼ýÀÚ¸¦ Á¦¿ÜÇÑ ¹®ÀÚµéÁß¿¡ °¢°¢ÀÇ ¿¹¿Ü¸¦ Á¦¿ÜÇÏ°í unicode ÇüÅÂ(À¥ À̹ǷΠutf-8)·Î ÀÎÄÚµùÇÑ´Ù. 
    
°¢°¢ÀÇ ¿¹¿Ü´Â encodes´Â (* @ - _ + . /) encodeURI´Â (, / ? : @ & = + $ #) encodeURIComponent ´Â ¿¹¿Ü°¡ ¾ø´Ù.

±×·¯¹Ç·Î encodeURI·Î ÁÖ¼Ò Àüü¸¦ ÀÎÄÚµå ÇÏ´õ¶óµµ ÁÖ¼Ò·Î »ç¿ëÇÒ¼ö ÀÖÀ¸¸ç, encodeURIComponent´Â ÁÖ¼Ò Àüü¸¦ get ¹æ½ÄÀ¸·Î Àü´Þ ÇÒ ¼ö ÀÖ´Ù.
    
±×¸®°í °¢°¢ unescape(), decodeURI(), decodeURIComponent() ·Î decode ÇÒ¼ö ÀÖ´Ù

4. ºÒ·¯¿À´Â .jsÆÄÀÏÀÇ ¹®¼­ ÀÎÄÚµùÀ» º¯°æÇÒ¼ö ¾ø´Â °æ¿ì
    
½Å¿ëÄ«µå °áÀ糪, º»ÀÎ È®ÀÎ ¼­ºñ½º °°Àº Ÿ ¾÷ü¿¡¼­ Áö¿øÇØÁÖ´Â ¼­ºñ½ºÀÏ °æ¿ì ÇØ´ç .js ÆÄÀÏ ÀÎÄÚµùÀº euc-kr·Î µÇ¾î Àִµ¥ ÀÚ½ÅÀÇ ¼Ò½º  ÀÎÄÚµùÀº utf-8·Î µÇ¾î ÀÖ´Â °æ¿ì°¡ ÀÖ´Ù.

ÀÌ·²°æ¿ì ÇØ´ç ¾÷ü¿¡ ¹®ÀÇ ÇÏ¸é µÇ±âµµ ÇÏÁö¸¸, 
    
<script language=JavaScript src="ÇØ´ç¼­ºñ½ºjsÆÄÀÏ.js" charset='euc-kr'></script>
À§¿Í °°ÀÌ, ¼±¾ðÇØÁÖ´Â °÷¿¡ charsetÀ» ÁöÁ¤ÇØÁÖ¸é ÀÌ ¹®Á¦°¡ ÇØ°á µÈ´Ù.

 
¡Ø Ȥ½Ã µµ¿òÀÌ µÇ¼Ì´Ù¸é ´ñ±Û¿¡ ÇѸ¶µð ³²°ÜÁÖ¼¼¿ä!
ÀÛ¼ºÀÚ   ºñ¹Ð¹øÈ£
ÀÚµ¿±Û ¹æÁö     (ÀÚµ¿±Û ¹æÁö ±â´ÉÀÔ´Ï´Ù.)
³»¿ë   ´ñ±Û´Þ±â 
À̸ÞÀÏ ¹®ÀÇ : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.