JISコードをシフトJISコードに変換する


関数名
jis2sjis  JISコードをシフトJISコードに変換する
形式
unsigned int jis2sjis(unsigned int jis);
引数
jis  JISコード
関数値
シフトJISコード
注意事項

用例(jis2sjis-test.c
jis2sjis(0x3441);

プログラム(jis2sjis.c
unsigned int jis2sjis(unsigned int jis)
{
    unsigned int hib, lob;
    
    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;
}
説明
JISコードは7ビット系漢字コードであり、JIS規格により定め られた日本国内の標準漢字コード(のはず)である。とくに、かな・ 漢字を含めたインターネット・メールには普通、JISコードが使われ ている。

一方、シフトJISコードは Microsoft漢字コードともよばれ、現在の ところ最も広く使用されている8ビット系漢字コードであり、パソコン 上の標準漢字コードでもある。

関連関数
JISコードをEUCに変換するSJISコードをJISに変換するSJISコードをEUCに変換するEUCコードをJISに変換するEUCコードをSJISに変換する