\n"; echo " | "; echo "µ¿¹°±×¸²Ã¢°í¸¦ ¿î¿µÇÏ¸é¼ Á¶±Ý¾¿ ÃàÀûÇÑ ¿î¿µÀÚÀÇ °æÇè´ãÀ» Á¤¸®ÇÑ Àâ´ÙÇÑ ±ÛµéÀ» ¸ð¾Ò½À´Ï´Ù."; echo " | \n"; echo "\n"; echo " | ".$ad_code." | \n"; echo "
MBCS¿Í À¯´ÏÄÚµå(Unicode)¹®¼ÀÛ¼ºÀÏ: 2006³â 02¿ù 02ÀÏ MBCS¿Í À¯´ÏÄÚµå¿Í °ü·ÃÇÏ¿© ¹®Àǰ¡ µé¾î¿Í¼ Á¤¸®ÇØ º¸¾Ò½À´Ï´Ù.MBCS (Multi-byte Character Set)MBCS´Â Multi-byte Character SetÀÇ ¾àÀÚÀÔ´Ï´Ù. ´ÙÁß¹ÙÀÌÆ®¶ó°í ÇÏ´Â °Íó·³ 1°³ÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇϴµ¥ 1¹ÙÀÌÆ® ¶Ç´Â 2¹ÙÀÌÆ®¸¦ »ç¿ëÇÕ´Ï´Ù. ¿µ¾î³ª ¼À¯·´¾îÀÇ °æ¿ì¿¡´Â 1¹ÙÀÌÆ®·Î Ç¥ÇöµÇ±â ¶§¹®¿¡ SBCS(Single-byte Character Set)¶ó°íµµ ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î ASCII¶ó°í ÇÏ´Â ÀÎÄÚµùÀÌ SBCS¿Í µ¿ÀÏÇÏ´Ù°í º¼ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª Áß±¹¾î, ÀϺ»¾î, Çѱ¹¾î µîÀº 1¹ÙÀÌÆ®·Î´Â 1°³ÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇÒ ¼ö ¾ø±â ¶§¹®¿¡ 2¹ÙÀÌÆ®ÀÇ Á¶ÇÕÀ¸·Î ÇϳªÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇÕ´Ï´Ù. ±×·¡¼ DBCS(Double-byte Character Set)¶ó°íµµ ÇÕ´Ï´Ù. MBCS == SBCS + DBCS¶ó°í º¼ ¼ö ÀÖ°Ú±º¿ä.MBCS¿¡¼´Â ÇÑ ±ÛÀÚ°¡ 1¹ÙÀÌÆ®ÀÎ °Íµé°ú ÇÑ ±ÛÀÚ°¡ 2¹ÙÀÌÆ®ÀÎ °ÍµéÀÌ ¼¯¿© ÀÖ°Ô µË´Ï´Ù. ±×·¯¸é 1¹ÙÀÌÆ®°¡ ÇÑ ¹®ÀÚÀÎÁö, 2¹ÙÀÌÆ®°¡ ÇÑ ¹®ÀÚÀÎÁö´Â ¾î¶»°Ô ±¸ºÐÇÒ±î¿ä? 1°³ÀÇ ¹ÙÀÌÆ®¸¦ ÀÐ¾î¼ 0x80(½ÊÁø¼ö 128)º¸´Ù ÀÛÀº °ÍµéÀº ¸ðµÎ 1°³ÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇÕ´Ï´Ù(SBCS). ±×·¯³ª À̰ÍÀÌ 0x80º¸´Ù Å©°Å³ª °°Àº °æ¿ì¿¡´Â µÎ¹øÂ° ¹ÙÀÌÆ®¿Í Á¶ÇÕÇÏ¿© 2¹ÙÀÌÆ®·Î ÇϳªÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇÏ°Ô µË´Ï´Ù(DBCS). µÎ ¹ÙÀÌÆ®°¡ ÇϳªÀÇ ¹®ÀÚ¸¦ ³ªÅ¸³¾ °æ¿ì, ù¹øÂ° ¹ÙÀÌÆ®¸¦ Lead Byte, µÎ¹øÂ° ¹ÙÀÌÆ®¸¦ Trail Byte¶ó°í ÇÑ´ä´Ï´Ù. Lead Byte´Â 0x7F(127)º¸´Ù Ç×»ó Ä¿¾ß ÇÏÁö¸¸, Trail Byte´Â 0¸¸ ¾Æ´Ï¸é µÈ´Ù´Â±º¿ä. À§ÀÇ Á¤ÀÇ¿¡ µû¸£¸é SBCS´Â \0(null)À» Á¦¿ÜÇϰí 127°³ÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. 1¸¸¿©ÀÚ¿¡ À̸£´Â ÇѱÛÀ» Ç¥ÇöÇϱ⿡´Â ¸Å¿ì ºÎÁ·Çϰí ÀϺ»¾îÀÇ È÷¶ó°¡³ª 50ÀÚ¿Í °¡´Ù°¡³ª 50ÀÚ¸¦ Ç¥ÇöÇϱ⿡µµ ºÎÁ·ÇÑ °¨ÀÌ ÀÖ½À´Ï´Ù. ¶ÇÇÑ ÇÑÀÚ´Â Åõµ ¾ø°ÚÁö¿ä? ±×·¡¼ 2¹ÙÀÌÆ® Á¶ÇÕÇüÀÇ DBCS¸¦ »ç¿ëÇÏ°Ô µÇ´Âµ¥ ÀÌ °æ¿ì¿¡´Â Lead Byte´Â 128~255ÀÇ 128ÀÚ, Trail Byte´Â 0À» Á¦¿ÜÇÑ 255ÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î 128*255 == 32640°³ÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. MBCS´Â ÀüüÀûÀ¸·Î 127+32640 == 32767°³ÀÇ ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â ÀÌ·ÐÀûÀÎ °è»êÀÌ ³ª¿É´Ï´Ù. ¸¹Àº »ç¶÷µéÀÌ MBCS¸¦ ÇϳªÀÇ ÀÎÄÚµùÀ¸·Î º¸´Â °æÇâÀÌ ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î MBCS´Â ÀÎÄÚµùÀÌ ¾Æ´Ï¶ó ÀÎÄÚµù ¹æ¹ýÀ» ¸»ÇÏ´Â °ÍÀÔ´Ï´Ù (º¸´Ù Á¤È®ÇϰԴ 2¹ÙÀÌÆ®·Î ¹®ÀÚ¸¦ Ç¥ÇöÇÏ´Â ¹®ÀÚÁýÇÕµéÀ» À̸£´Â °ÍÀ̶ó°í ºÁ¾ß°Ú±º¿ä). Áï MBCS¿¡ ÇØ´çÇÏ´Â ÀÎÄÚµùÀ̶õ Shift-JIS, EUC-KR, BIG5 µî°ú °°ÀÌ ÀϺ»¾î, ÇѱÛ, Áß±¹¾î µîÀ» 2¹ÙÀÌÆ®·Î ÀÎÄÚµùÇÏ´Â ¹æ¹ý·ÐÀ» À̸£´Â ¿ë¾î¶ó°í º¸½Ã¸é µË´Ï´Ù(µû¶ó¼ MBCSº¸´Ù´Â DBCS°¡ ¾î¶² ¸é¿¡¼´Â º¸´Ù Á¤È®ÇÑ Ç¥±â¶ó°í º¼ ¼ö ÀÖ½À´Ï´Ù). º¸´Ù ¸íÈ®ÇÑ ÀÇ»ç¼ÒÅëÀ» À§Çؼ´Â "EUC-KR°ú UTF-16 ÀÎÄÚµùÀÇ Â÷ÀÌ´Â?", "UCS-2¿Í UTF-8ÀÌ ´Ù¸¥ Á¡Àº?" µî°ú °°ÀÌ ¸íÈ®ÇÑ ÀÎÄÚµùÀ» ±â¼úÇØ¾ß ÇÕ´Ï´Ù. ¾Æ·¡ Ç¥¿¡ ¹®ÀÚÁýÇÕÀÇ Ç¥ÁØ À̸§°ú °¢ Ç¥ÁØ¿¡¼ ³Î¸® »ç¿ëµÇ´Â ÀÎÄÚµùµéÀ» Á¤¸®Çغ¸¾Ò½À´Ï´Ù(Unicode¿Í ISO/IEC 10646Àº ¾à°£ÀÇ Â÷ÀÌ´Â ÀÖÀ¸³ª µ¿ÀÏÇÑ Ç¥ÁØÀ̶ó°í º¸½Ã¸é µË´Ï´Ù).
À¯´ÏÄÚµå(Unicode)ÀÇ ÀÎÄÚµùÀ¯´ÏÄڵ忡 ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº À¯´ÏÄÚµå(Unicode)¿Í À¯´ÏÄÚµå ÀÎÄÚµù ÆäÀÌÁö¸¦ ÂüÁ¶ÇϽʽÿÀ. ÀÌ ÆäÀÌÁö¸¦ º¸½Ã¸é À¯´ÏÄÚµå °ü·Ã ÀÎÄÚµùµéÀÌ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù. °£·«ÇÏ°Ô ³ª¿Çغ¸¸é UCS-2, UCS-4, UTF-8, UTF-16, UTF-32 µîÀÇ ÀÎÄÚµùÀÌ ÀÖ½À´Ï´Ù. ¾à°£ÀÇ Â÷ÀÌ´Â ÀÖÁö¸¸ UCS-2 == UTF-16, UCS-4 == UTF-32¶ó°í º¸½Ã¸é µË´Ï´Ù. ÀÌ µÎ°³ÀÇ, ¶Ç´Â 4°³ÀÇ, ÀÎÄÚµùÀº °¢ ¹®ÀÚ¸¦ Ç¥ÇöÇÏ´Â ¹ÙÀÌÆ® ¼ö°¡ ÀÏÁ¤ÇÕ´Ï´Ù. UCS-2¿Í UTF-16Àº 1°³ÀÇ ¹®ÀÚ¸¦ 2¹ÙÀÌÆ®·Î(UTF-16¿¡¼´Â 4¹ÙÀÌÆ®·Î Ç¥ÇöµË´Ï´Ù ¿µ¿ªµµ ÀÖ½À´Ï´Ù). UTF-32¿Í UCS-4´Â 1¹®ÀÚ°¡ 4¹ÙÀÌÆ®¸¦ Â÷ÁöÇÕ´Ï´Ù. UTF-8Àº 1~4¹ÙÀÌÆ®ÀÇ °¡º¯ÀûÀÎ ±æÀÌ·Î À¯´ÏÄڵ忡 Á¤ÀǵǴ ¸ðµç ¹®ÀÚ¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº À§ÀÇ ¸µÅ©¸¦ ÂüÁ¶ÇϽʽÿÀ.¾î¶² Áú¹®
À§ÀÇ »¡°£»ö Áú¹®À» º¸¸é °¢ ÀÎÄÚµùÀ» ÀÌÇØÇÏÁö ¸øÇؼ Á¦±âµÉ ¼ö ÀÖ´Â Áú¹®À̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. MBCS(ÀÌ Áú¹®¿¡¼´Â EUC-KR)´Â µÎ¹ÙÀÌÆ®ÀÇ Á¶ÇÕ¿¡ ÀÇÇØ¼ ÇϳªÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇÕ´Ï´Ù. Áï 'È¿'ÀÚ´Â 0xBFC8À̶ó±â º¸´Ù´Â 0xBF + 0xC8ÀÇ Á¶ÇÕ¿¡ ÀÇÇØ¼ ÇϳªÀÇ ¹®ÀÚ¸¦ Ç¥½ÃÇÏ´Â °ÍÀÔ´Ï´Ù. ¹Ý¸é, UCS2ÀÇ 'È¿'(0xD6A8)´Â µÎ¹ÙÀÌÆ® ÀÚü°¡ ÇϳªÀÇ °ªÀÔ´Ï´Ù. C ½ºÅ¸ÀÏ·Î À̾߱âÇÑ´Ù¸é EUCKRÀÇ 'È¿'´Â char[2]À̰í, UCS-2¿¡¼´Â unsigned short int¶ó°í º¸½Ã¸é µË´Ï´Ù. ±×¸®°í, ¾Õ¼ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌ EUC-KR¿¡¼ ÀÌ·ÐÀûÀ¸·Î Ç¥ÇöÇÒ ¼ö ÀÖ´Â ¹®ÀÚÀÇ ¼ö´Â 32767°³ÀÔ´Ï´Ù. ±×·±µ¥ EUC-KRÀÇ Ç¥ÁØ ¹®ÀÚÁýÇÕÀÎ KSC-5601¿¡¼´Â ¿©·¯°¡Áö Á¦¾àÀÌ ÀÖ¾î¼ ÇÑ±Û 2350ÀÚ, ÇÑÀÚ 4888ÀÚ, Ư¼ö¹®ÀÚ 1128ÀÚ¸¸À» Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù. ¹Ý¸é UCS-2¿¡¼´Â 255*255-1 == 65535°³ÀÇ ¹®ÀÚ¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. UCS-2¿¡¼´Â ÇÑ±Û 11172ÀÚ ¸ðµÎ°¡ Ç¥ÇöµÇ¾ú°í, ÇÑÀÚµµ 27786ÀÚ¸¦ Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù(Unicode 4.0 Ç¥ÁØ¿¡¼´Â ¼ö¸¸ÀÚÀÇ ÇÑÀÚ°¡ ´õ Ãß°¡µÇ¾ú½À´Ï´Ù). ÀÌ¿Í °°ÀÌ EUC-KR(¶Ç´Â MBCS)°ú À¯´ÏÄÚµå´Â ¹®ÀÚ¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Â °ø°£ÀÌ ´Ù¸£´Ï ´ç¿¬È÷ °¢ ¹®ÀÚÀÇ ÇÒ´çÀÌ ´Þ¶óÁ³°ÚÁö¿ä. ¶Ç ÇϳªÀÇ ÀÌÀ¯´Â EUC-KRÀÇ °æ¿ì, ÇÑ±Û »ç¿ëÀÚ¸¸À» À§ÇÑ ÀÎÄÚµùÀ̹ǷΠ¿µ¾î ¾ËÆÄºª, ¼ýÀÚ, Ư¼ö¹®ÀÚ, ÇѱÛ, ÇÑÀÚ ÀϺΠµî¸¸À» Ç¥ÇöÇÏ¸é µË´Ï´Ù. ¾Æ¶ø¹®ÀÚ, ű¹¹®ÀÚ µîÀÇ °æ¿ì¿¡´Â EUC-KR¿¡¼ °í¹ÎÇÒ Çʿ䰡 ¾ø¾ú°ÚÁÒ. ÀÌó·³ MBCS·ùÀÇ 2¹ÙÀÌÆ® ¹®ÀÚÁýÇÕÀº °¢ ³ª¶óÀÇ ½ÇÁ¤¿¡ ¸ÂÃç¼ µ¶ÀÚÀûÀ¸·Î ¸¸µé¾îÁø ¹®ÀÚÁýÇÕµéÀÔ´Ï´Ù. ±×·¯³ª ÀÌÈÄ¿¡ À¯´ÏÄÚµå Áø¿µ¿¡¼ ¸¸µé¾îÁø Unicode´Â Àü¼¼°èÀÇ ¹®ÀÚ¸¦ ´ãÀ¸·Á°í ÇÏ´Â ¹®ÀÚÁýÇÕÀ̹ǷΠ¸ðµç ¾ð¾î¿¡¼ »ç¿ëµÇ´Â ¹®ÀÚ¸¦ ½Ç¾î¾ß ÇÕ´Ï´Ù. ±×·¯ÀÚ¸é ´ç¿¬È÷ EUC-KR¿¡¼´Â ¸ô¶ú´ø ¹®Á¦µéÀÌ ¹ß»ýÇÒ ¼ö ¹Û¿¡ ¾ø¾úÀ» °ÍÀÔ´Ï´Ù. ÇÑ±Û »ç¿ëÀÚ¸¸À» À§ÇÑ KSC-5601À» À¯´ÏÄڵ忡 Àû¿ëÇÒ °ÍÀ» °íÁýÇϱâ´Â Èûµé°ÚÁö¿ä? ¿ì¸®³ª¶ó°¡ ¹Ì±¹°°Àº °íÁýºÒÅë °´ë±¹µµ ¾Æ´Ï´Ï±î ¸»ÀÔ´Ï´Ù. MBCS-UCS2°£ÀÇ ÅØ½ºÆ® º¯È¯Àº iconv¶ó´Â ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÏ¸é µÉ °ÍÀÔ´Ï´Ù (libiconv ȨÆäÀÌÁö¸¦ ÂüÁ¶ÇϽʽÿÀ). ´Ù¸¸ UCS2´Â ±âº» ´ÜÀ§°¡ unsigned short intÀ̱⠶§¹®¿¡ char[]³ª string ŸÀÔÀ¸·Î ó¸®ÇϱⰡ Èûµì´Ï´Ù(UCS-4ÀÇ °æ¿ì¿¡´Â unsigned intÇü°ú °°±â ¶§¹®¿¡ µ¿ÀÏÇÑ ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù). »óÀ§ ¹ÙÀÌÆ®¿¡ 0ÀÌ ³ª¿À±â ¶§¹®ÀÌÁö¿ä. ±×·¡¼ UTF-8À̶ó´Â ÀÎÄÚµùÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. ÀÌ ÀÎÄÚµù¿¡¼´Â ¿µ¾îÀÇ °æ¿ì ASCII¿Í µ¿ÀÏÇÕ´Ï´Ù. ¼À¯·´¾îÀÇ °æ¿ì¿¡´Â 2¹ÙÀÌÆ®·Î, ÇѱÛÀº 3¹ÙÀÌÆ®, ÇÑÀÚ´Â 3¹ÙÀÌÆ® ¶Ç´Â 4¹ÙÀÌÆ®·Î ÀÎÄÚµùµË´Ï´Ù. ÀÌ ÀÎÄÚµùÀÇ Æ¯Â¡Àº »óÀ§¹ÙÀÌÆ®¿¡ Àý´ë 0ÀÌ ³ª¿ÀÁö ¾Ê½À´Ï´Ù. ±×·¡¼ CÀÇ char ¹è¿À̳ª C++ÀÇ string ŸÀÔÀ» ±×´ë·Î Àû¿ëÇØ¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù. ÀÌ·± ÀåÁ¡¶§¹®¿¡ ¿äÁò ÇÁ·Î±×·¡¹Ö¿¡¼´Â UTF-8À» °¡Àå ¸¹ÀÌ »ç¿ëÇÏ´Â °ÍÀ¸·Î º¸ÀÔ´Ï´Ù. UTF-8¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº À¯´ÏÄÚµå(Unicode)¿Í À¯´ÏÄÚµå ÀÎÄÚµù ¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ. ¾Õ¼ ¼³¸íµå¸° ¹Ù¿Í °°ÀÌ MBCS·ùÀÇ Ç¥ÁØÀº °¢ ¾ð¾î±Ç¿¡¼ µ¶ÀÚÀûÀ¸·Î (½ÇÁ¦·Î´Â ISO 2022¶ó´Â ±¹Á¦Ç¥ÁØÀÌ ÀÖ±â´Â ÇÕ´Ï´Ù) Á¤ÀÇµÇ¾î ¿Â °ÍµéÀ̱⠶§¹®¿¡ MBCS·ùÀÇ Ç¥ÁØ¿¡¼ ÆÄ»ýµÈ ÀÎÄÚµùµéÀº ´Ù±¹¾î¸¦ Ç¥ÇöÇϱâ Èûµé´Ù´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. KSC5601°ú À¯´ÏÄڵ忡 Á¤ÀÇµÈ ¹®ÀÚ¼öÀÇ Â÷ÀÌ¿¡¼ ¾Ë ¼ö ÀÖµíÀÌ MBCS·ùÀÇ Ç¥ÁØ¿¡¼´Â Ç¥ÇöÇÒ ¼ö ÀÖ´Â ¹®ÀÚÀÇ ¼öµµ À¯´ÏÄڵ忡 ºñÇØ ¸Å¿ì Á¦ÇѵǾî ÀÖ´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÇöÀç·Î¼´Â Windows 9X °è¿ÀÇ OS¿¡¼´Â »ç¿ëÇϱâ Èûµé´Ù´Â ´ÜÁ¡ÀÌ ÀÖÁö¸¸ ¹®ÀÚÁýÇÕÀº À¯´ÏÄÚµå(Unicode), ÀÎÄÚµùÀº UTF-8À» »ç¿ëÇÒ °ÍÀ» ±ÇÀåÇÕ´Ï´Ù. Âü°í·Î µ¿¹°±×¸²Ã¢°í´Â ´Ù±¹¾î¸¦ Áö¿øÇϱâ À§ÇØ UTF-8À» ±â¹ÝÀ¸·ÎÇÏ¿© ¿î¿µµÇ°í ÀÖ½À´Ï´Ù.
2006-02-03 ±èÁø¼÷ |
|
| |||||
Copyright © since 1995, µ¿¹°±×¸²Ã¢°í (Animal Pictures Archive). All rights reserved. |