EUC 코드를 쉬프트 JIS 코드로 변환한다


함수명
euc2sjis  EUC 코드를 쉬프트 JIS 코드로 변환한다
형식
unsigned int euc2sjis(unsigned int euc);
인수
euc  EUC 코드
함수치
쉬프트 JIS 코드
주의 사항
반각 가나 대응의 EUC 코드를 전각 가나 SJIS 코드로 변환하고 있다. 그 때문에(위해), 함수 hankaku2zen() (반각 가나를 전각 가나로 변환한다)(이)가 별도 필요하다.

용례(euc2sjis-test.c )
euc2sjis(0xb4c1);

프로그램(euc2sjis.c )
unsigned int euc2sjis(unsigned int euc)
{
    unsigned int jis;
    unsigned int hib, lob;

    if ((euc & 0xff00) == 0x8e00)
        jis = hankaku2zen(euc & 0xff);
    else jis = euc & ~0x8080;
    
    hib = (jis >> 8) & 0xff;
    lob = jis & 0xff;
    lob += (hib & 1) ?  0x1f : 0x7d;
    if (lob >= 0x7f) lob++;
    hib = ((hib - 0x21) >> 1) + 0x81;
    if (hib > 0x9f) hib += 0x40;

    return (hib << 8) | lob;
}
설명
EUC 코드는 UNIX상에서 넓게 사용되고 있는 8 비트계 한자 코드 (이어)여, JIS 코드의 제1바이트, 제2바이트의 양쪽 모두에 0 x80를 가산했다 물건을 사용한다. 게다가 ANK의 반각 가나 문자에 대해서는, 전에 1바이트 (0x8e)(을)를 붙여 2바이트로 반각 가나 문자를 나타낸다.

한편, 쉬프트 JIS 코드는 Microsoft 한자 코드라고도 불려 현재의 곳 가장 넓게 사용되고 있는 8 비트계 한자 코드이며, PC 위의 표준 한자 코드이기도 하다.

관련 함수
JIS 코드를 SJIS로 변환하는, JIS 코드를 EUC로 변환하는, SJIS 코드를 JIS로 변환하는, SJIS 코드를 EUC로 변환하는, EUC 코드를 JIS로 변환한다