sjis2euc 쉬프트 JIS 코드를 EUC 코드로 변환한다
unsigned int sjis2euc(unsigned int sjis);
sjis 쉬프트 JIS 코드
EUC 코드
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;
}
한편, EUC 코드는 UNIX상에서 넓게 사용되고 있는 8 비트계 한자 코드 (이어)여, JIS 코드의 제1바이트, 제2바이트의 양쪽 모두에 0 x80를 가산했다 물건을 사용한다.