whatKanji ¹®ÀÚ ÄÚµåÀÇ Á¾º°À» ÆÇÁ¤ÇÑ´Ù
int whatKanji(unsigned char *str);
str (ÀÔ·Â) ij¸¯ÅÍ ¶óÀÎ
ÇÑÀÚÀÇ Á¾º°À» ³ªÅ¸³»´Â °ª ¡¤Àμö strÀÇ ¼±µÎ ¹®ÀÚ°¡ ¹Ý°¢ °¡³ªÀÇ °æ¿ì, ÇÔ¼öÄ¡´Â 1 ¡¤Àμö strÀÇ ¼±µÎ 2 ¹®ÀÚ°¡ ½¬ÇÁÆ® JIS ÄÚµåÀÇ °æ¿ì, ÇÔ¼öÄ¡´Â 2 ¡¤Àμö strÀÇ ¼±µÎ 2 ¹®ÀÚ°¡ EUC ¹Ý°¢ °¡³ª ÄÚµåÀÇ °æ¿ì, ÇÔ¼öÄ¡´Â 4 ¡¤Àμö strÀÇ ¼±µÎ 2 ¹®ÀÚ°¡ EUC Àü°¢ ÄÚµåÀÇ °æ¿ì, ÇÔ¼öÄ¡´Â 8 ¡¤Àμö strÀÇ ¼±µÎ 3 ¹®ÀÚ°¡ ½ÅJIS(X0208-1983) ½¬ÇÁÆ® ÄÚµåÀÇ °æ¿ì, ¡¡ÇÔ¼öÄ¡´Â 16 ¡¤Àμö strÀÇ ¼±µÎ 3 ¹®ÀÚ°¡ ±¸JIS(X0208-1978) ½¬ÇÁÆ® ÄÚµåÀÇ °æ¿ì, ¡¡ÇÔ¼öÄ¡´Â 32 ¡¤Àμö strÀÇ ¼±µÎ 3 ¹®ÀÚ°¡ JIS ·Î¸¶ÀÚ(X0201) ½¬ÇÁÆ® ÄÚµåÀÇ °æ¿ì, ¡¡ÇÔ¼öÄ¡´Â 64 ¡¤Àμö strÀÇ ¼±µÎ 3 ¹®ÀÚ°¡ ASCII ½¬ÇÁÆ® ÄÚµåÀÇ °æ¿ì, ÇÔ¼öÄ¡´Â 128 ¡¤À§ÀÇ ÄÉÀ̽º°¡ º¹¼ö°³ µ¿½Ã¿¡ ÀϾ´Â °æ¿ì´Â, ÇÔ¼öÄ¡´Â ±×·¯ÇÑ ³í¸®ÇÕ ¡¤À§ÀÇ ¸ÓÁö¾Ê¾Æµµ ¾Æ´Ñ °æ¿ì´Â, ÇÔ¼öÄ¡´Â 0
int whatKanji(unsigned char *str) { int val = 0; unsigned char b1, b2, b3; b1 = *str++; b2 = *str++; b3 = *str; if (b1 == 0x1b) { if (b2 == '$' && b3 == 'B') return 16; if (b2 == '$' && b3 == '@') return 32; if (b2 == '(' && b3 == 'J') return 64; if (b2 == '(' && b3 == 'B') return 128; return 0; } if ( b1 >= 0xa0 && b1 <= 0xdf) val |= 1; if ((b1 >= 0x81 && b1 <= 0x9f || b1 >= 0xe0 && b1 <= 0xfc) && (b2 >= 0x40 && b2 <= 0xfc && b2 ! = 0x7f)) val |= 2; if (b1 == 0x8e && (b2 >= 0xa0 && b2 <= 0xdf)) val |= 4; if ((b1 >= 0xa1 && b1 <= 0xfe) && (b2 >= 0xa1 && b1 <= 0xfe)) val |= 8; return val; }
½¬ÇÁÆ® JIS ÄÚµå´Â Á¦1¹ÙÀÌÆ®·Î¼ 0x81 - 0x9f ±îÁö¿Í 0xe0 - 0xfc ±îÁö, Á¦2¹ÙÀÌÆ®·Î¼ 0x40 - 0xfc ±îÁö(0 x7f¸¦ Á¦¿ÜÇÏ´Ù)¸¦ »ç¿ëÇÑ´Ù. ÀÌ ¸ð¾Æ µÎ¾î ½¬ÇÁÆ® JIS´Â »ó±âÀÇ ¹Ý°¢ ÄÚµå¿Í È¥ÀçÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª, Á¦¾î ¹®ÀÚ (À¸)·Î¼ »ç¿ëµÇ´Â ¡¬(backslash ¶Ç´Â ¿£±âÈ£)µîÀÌ Á¦2¹ÙÀÌÆ® ÀÇ ¿µ¿ª¿¡ µé¾î°¡ ÀÖ±â À§Çؼ(¶§¹®¿¡) ¹®Á¦°¡ »ý±â´Â ÀÏÀÌ ÀÖ´Ù.
EUC ÄÚµå´Â Á¦1, Á¦2¹ÙÀÌÆ® ¸ðµÎ 0xa1 - 0xfe ±îÁöÀÌÁö¸¸, ¹Ý°¢ÀÇ °¡³ª ¹®ÀÚ¿¡ ´ëÇؼ´Â, 0x8e ¸¦ ¹Ý°¢ °¡³ª ¹®ÀÚÀÇ ÀüÁ¶¸², 2¹ÙÀÌÆ®·Î Ç¥Çö ÇÑ´Ù.
ÇÑÆí, JIS ÄÚµå´Â 7 ºñÆ®°è ÇÑÀÚ ÄÚµåÀ̱â (À§ÇØ)¶§¹®¿¡, ´ÙÀ½°ú °°Àº ½¬ÇÁÆ® Äڵ带 »ç¿ëÇØ, ij¸¯ÅÍ ¼¼Æ®ÀÇ º¯È¯À» ½Ç½ÃÇØ, °¡³ªÇÑÀÚ¸¦ Ç¥ÇöÇÑ´Ù.
¡¡¡¡¡¡½¬ÇÁÆ® ÄÚµå À϶÷
ij¸¯ÅÍ ¼¼Æ® | ½¬ÇÁÆ® ÄÚµå |
½ÅJIS X0208-1983 | ESC $ B |
±¸JIS X0208-1978 | ESC $ @ |
JIS ·Î¸¶ÀÚ X0201 | ESC ( J |
ASCII | ESC ( B |