´ÙÀ½ ÀÌÀü Â÷·Ê

9. ¸®´ª½º¿¡¼­ À¯´ÏÄڵ带 ¾î¶»°Ô »ç¿ëÇϴ°¡?

UTF-8ÀÌ ¹ßÇ¥µÇ±â Àü¿¡´Â ´Ù¸¥ Áö¿ª¿¡ »ì°í ÀÖ´Â ¸®´ª½º À¯ÀúµéÀº ¿©·¯°¡Áö ASCII È®Àå ¹®ÀÚ¸¦ »ç¿ëÇÏ¿´´Ù. À¯·´¿¡¼­´Â ISO 8859-1°ú ISO 8859-2¸¦, ±×¸®½º¿¡¼­´Â ISO 8859-7À», ·¯½Ã¾Æ¿¡¼­´Â KOI-8À», ÀϺ»¿¡¼­´Â EUC¿Í Shift-JIS¸¦ °¡Àå ³Î¸® »ç¿ëÇÏ¿´´Ù. ÀÌ·Î ÀÎÇÏ¿© ÆÄÀÏÀ» ±³È¯ÇÏ´Â °ÍÀÌ ¾î·Á¿ü°í, ¾îÇø®ÄÉÀÌ¼Ç ¼ÒÇÁÆ®¿þ¾î¸¦ Á¦ÀÛÇϱâ À§Çؼ­´Â ÀÌ·¯ÇÑ ÀÎÄÚµùµé »çÀÌÀÇ Â÷ÀÌÁ¡À» °ÆÁ¤Çؾ߸¸ Çß´Ù.

À¯´ÏÄÚµå´Â °á±¹¿¡´Â ÀÌ·¯ÇÑ ¸ðµç ÀÎÄÚµùµéÀ» ´ë½ÅÇÒ °ÍÀ̸ç, UTF-8 Çü½ÄÀÌ ÁÖ¸¦ ÀÌ·ê °ÍÀÌ´Ù. UTF-8Àº ¾Æ·¡¿Í °°Àº °æ¿ì¿¡ »ç¿ëµÉ °ÍÀÌ´Ù.

UTF-8 ¸ðµå¿¡¼­ xtermÀ̳ª ¸®´ª½º ÄÜ¼Ö µå¶óÀ̹ö¿Í °°Àº Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ´Â ´ëÀÀ ÇÏ´Â UTF-8 ½ÃÄö½º·Î ¸ðµç ŰÀÔ·ÂÀ» Àü´ÞÇϸç, ŰÀÔ·ÂÀ» Æ÷±×¶ó¿îµå ÇÁ·Î¼¼¼­ÀÇ Ç¥ÁØ ÀÔ·ÂÀ¸·Î º¸³½´Ù. ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÇÁ·Î¼¼¼­ÀÇ Ç¥ÁØ Ãâ·ÂÀ» Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ·Î º¸³» °í ±×°÷¿¡¼­ Ãâ·ÂÀ» UTF-8 µðÄÚ´õ·Î ó¸®Çϰí 16ºñÆ® ÆùÆ®¸¦ »ç¿ëÇÏ¿© µð½ºÇ÷¹ÀÌÇÑ´Ù .

°æ°íÀ½À» °®´Â ¿ÏÀüÇÑ À¯´ÏÄÚµå ±â´ÉÀº º¹ÀâÇÑ ´ÙÁß-¾ð¾î ¿öµå-ÇÁ·Î¼¼½Ì ÆÐŰÁö¿¡ »ç¿ëÇÒ °ÍÀ¸·Î ¿¹»óÇÒ ¼ö ÀÖ´Ù. ¸®´ª½º´Â Ʋ¸²¾øÀÌ ASCII ¹®ÀÚ¸¦ ´ë½ÅÇϱâ À§ÇÑ Æø ³Ð Àº ±â¹Ý À§¿¡¼­ »ç¿ëµÉ °ÍÀ̸ç, ´Ù¸¥ 8ºñÆ® ¹®ÀÚ¼ÂÀº ÈξÀ ´Ü¼øÇØÁú °ÍÀÌ´Ù. ¸®´ª½ºÀÇ Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ¿Í ¸í·É ¶óÀÎ µµ±¸µéÀº óÀ½ ´Ü°è¿¡¼­ ¹Ù·Î UTF-8·Î ÀüȯÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. À̰ÍÀº ISO 10646-1À¸·Î ±¸ÇöÇÑ ·¹º§ 1ÀÌ (¾î¶°ÇÑ °áÇÕ ¹®ÀÚµµ »ç¿ëÇÏÁö ¾Ê°í) »ç¿ëµÊÀ» ÀǹÌÇϸç, ¾î¶°ÇÑ ÇÁ·Î¼¼½Ì Áö¿øµµ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â ¶óƾ¾î, ±×¸®½º¾î, ۸±¾î ¹× ¸¹Àº °úÇÐ ±âÈ£¿Í °°Àº ¼­Ã¼(script)µé¸¸ Áö¿øµÊÀ» ÀǹÌÇÑ´Ù. ÀÌ·¯ÇÑ ·¹º§¿¡¼­ UCS Áö¿øÀº ISO 8859 Áö¿ø¿¡ ºñ±³ÇÒ ¸¸ Çϸç À¯ÀÏÇÑ Áß¿äÇÑ Â÷ÀÌÁ¡Àº ÇöÀç À¯¿ëÇÑ ¼ö¸¹Àº ´Ù¸¥ Á¾·áÀÇ ¹®ÀÚµéÀÌ ÀÖÀ¸¸ç, ¹®ÀÚµéÀº ¸ÖƼ¹ÙÀÌÆ® ½ÃÄö½º·Î ³ªÅ¸³¾ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.

¸®´ª½º¿¡¼­ °á±¹ °áÇÕ ¹®ÀÚ°¡ Áö¿øµÇ°ÚÁö¸¸ ¹Ì¸® ¸¸µé¾îÁø(precomposed) ¹®ÀÚµéÀÌ À¯¿ëÇÑ °áÇÕ ¹®ÀÚ ½ÃÄö½ºº¸´Ù ´õ¿í ÁÁÀº ¼±ÅÃÀÌ µÇ¾î¾ß¸¸ ÇÑ´Ù. ´õ ¸í¹éÇÏ°Ô ¸»ÇÏÀÚ¸é, ¸®´ª½º»ó¿¡¼­ À¯´ÏÄÚµå·Î ¸¸µé¾îÁø ÅØ½ºÆ®¸¦ ÀÎÄÚµùÇÏ´Â ´õ ÁÁÀº ¹æ¹ýÀº Unicode Technical Report #15¿¡¼­ Á¤ÀÇÇÑ Ç¥ÁØ Çü½Ä C (Normalization Form C)°¡ µÇ¾î¾ß¸¸ ÇÑ´Ù.

¿µÇâ·ÂÀÖ´Â POSIX ºñȣȯ PC ¿î¿µÃ¼Á¦ ÆÇ¸Å ȸ»ç Áß Çϳª´Â(¿©±â¼­ À̸§À» ¹àÈ÷Áö´Â ¾Ê°Ú´Ù) ¾î¶² ÆÄÀÏ¿¡¼­, »ç¿ëµÇ´Â ÀÎÄÚµù°ú ¹ÙÀÌÆ® ¼ø¼­¸¦ ½Äº°Çϱâ À§Çؼ­ ¸ðµç À¯´ÏÄÚµå ÆÄÀÏÀÌ ÆøÀÌ ¾ø´Â ³ëºê·¹ÀÌÅ© ½ºÆäÀ̽º ¹®ÀÚ(ZERO WIDTH NOBREAK SPACE: U+FEFF)·Î ½ÃÀÛÇÏ°Ô ÇÏÀÚ°í Á¦¾ÈÇߴµ¥, ÀÌ·¯ÇÑ ±ÔÄ¢¿¡ µû¸£¸é ¾î¶² ÆÄÀÏ¿¡¼­ »ç¿ëµÇ´Â ÀÎÄÚµù°ú ¹ÙÀÌÆ® ¼ø¼­(byte-order)¸¦ ½Äº°Çϱâ À§Çؼ­ ÆøÀÌ ¾ø´Â ³ëºê·¹ÀÌÅ© ½ºÆäÀ̽º ¹®ÀÚ´Â signature ȤÀº "¹ÙÀÌÆ®-¼ø¼­ ¸¶Å©(byte-order mark: BOM)"·Î½á ÂüÁ¶ÇÒ ¼ö ÀÖ ´Ù. ¸®´ª½º´Â BOMÀ̳ª signature¸¦ ÀüÇô »ç¿ëÇÏÁö ¾Ê´Â´Ù. BOMÀ̳ª signatureÀÇ »ç¿ëÀº ¼ö¾øÀÌ ¸¹ÀÌ Á¸ÀçÇϰí ÀÖ´Â ASCII-ÆÄÀÏ ¹®¹ý ±ÔÄ¢À» ±ú¶ß¸± °ÍÀÌ´Ù. POSIX ½Ã½ºÅÛ¿¡¼­, ¼±ÅÃÇÑ ·ÎÄÉÀÏÀº ¾î¶² ÇÁ·Î¼¼½ºÀÇ ÀÔÃâ·Â ÆÄÀÏ¿¡¼­ ÇÊ¿ä·Î ÇÏ´Â ÀÎÄÚµùÀ» ¹Ì¸® È®ÀÎÇÑ´Ù. ¶ÇÇÑ signature "UTF-8N" ÆÄÀÏ ¾øÀÌ UTF-8 ÆÄÀϵéÀ» È£Ãâ Çϱâ À§Çؼ­ ±×°Í À» Á¦¾ÈÇß¾ú´Ù. ±×·¯³ª ÀÌ·¯ÇÑ ºñ Ç¥ÁØÀûÀÎ ¿ë¾î´Â º¸Åë POSIX ¼¼°è¿¡¼­´Â »ç¿ëÇÏÁö ¾Ê´Â´Ù.


´ÙÀ½ ÀÌÀü Â÷·Ê