½¬ÇÁÆ® JIS Äڵ带 EUC ÄÚµå·Î º¯È¯ÇÑ´Ù


ÇÔ¼ö¸í
sjis2euc  ½¬ÇÁÆ® JIS Äڵ带 EUC ÄÚµå·Î º¯È¯ÇÑ´Ù
Çü½Ä
unsigned int sjis2euc(unsigned int sjis);
Àμö
sjis  ½¬ÇÁÆ® JIS ÄÚµå
ÇÔ¼öÄ¡
EUC ÄÚµå
ÁÖÀÇ »çÇ×

¿ë·Ê(sjis2euc-test.c )
sjis2euc(0x8abf);

ÇÁ·Î±×·¥(sjis2euc.c )
unsigned int sjis2euc(unsigned int sjis)
{
    unsigned int hib, lob;
    
    hib = (sjis >> 8) & 0xff;
    lob = sjis & 0xff;
    hib -= (hib <= 0x9f) ?  0x71 : 0xb1;
    hib = (hib << 1) + 1;
    if (lob >= 0x9e) {
        lob -= 0x7e;
        hib++;
    } else if (lob > 0x7f) lob -= 0x20;
    else lob -= 0x1f;

    hib |= 0x80;
    lob |= 0x80;

    return (hib << 8) | lob;
}
¼³¸í
½¬ÇÁÆ® JIS ÄÚµå´Â Microsoft ÇÑÀÚ ÄÚµå¶ó°íµµ ºÒ·Á ÇöÀçÀÇ °÷ °¡Àå ³Ð°Ô »ç¿ëµÇ°í ÀÖ´Â 8 ºñÆ®°è ÇÑÀÚ ÄÚµåÀ̸ç, PC À§ÀÇ Ç¥ÁØ ÇÑÀÚ ÄÚµåÀ̱⵵ ÇÏ´Ù.

ÇÑÆí, EUC ÄÚµå´Â UNIX»ó¿¡¼­ ³Ð°Ô »ç¿ëµÇ°í ÀÖ´Â 8 ºñÆ®°è ÇÑÀÚ ÄÚµå (À̾î)¿©, JIS ÄÚµåÀÇ Á¦1¹ÙÀÌÆ®, Á¦2¹ÙÀÌÆ®ÀÇ ¾çÂÊ ¸ðµÎ¿¡ 0 x80¸¦ °¡»êÇß´Ù ¹°°ÇÀ» »ç¿ëÇÑ´Ù.

°ü·Ã ÇÔ¼ö
JIS Äڵ带 SJIS·Î º¯È¯ÇÏ´Â, JIS Äڵ带 EUC·Î º¯È¯ÇÏ´Â, SJIS Äڵ带 JIS·Î º¯È¯ÇÏ´Â, EUC Äڵ带 JIS·Î º¯È¯ÇÏ´Â, EUC Äڵ带 SJIS·Î º¯È¯ÇÑ´Ù