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バイトの両方に0x80を加算した ものを使用する。