注: SolarisだのFreeBSDだので触るのがメインなので、日本語漢字コードはEUC-JPになっています。

C言語ソースファイル : kanji.c

C言語ヘッダファイル : kanji.h

日本語コードの変換用プログラムを作ってみました。

少し前の Software Design だかを見ていたら、「EUC には半角カナが無いから全角に変換する」という恐ろしい記述がありました (汗) が、そこに掲載されているソースをちょっと参考にして (え、まんま? 気のせい気のせい (^^;) みました。

ただし、そこにあったソースコードは Shift-JIS to EUC (Shift-JIS -> JIS to EUC) だけだったので、ついでに ISO-2022-JP 対応 (注1) もしてみました。まぁ、単に半角カナを全角カナにするだけのコードなのですが。 (^_^;

単純に全角に変換するのもアレなので、上位8bitに半角カナの文字コードを、下位8bitに濁点や半濁点の文字コードをセットして変換用コードを呼び出すと、一つの文字として出力するようにもしてみました。

なお、現在のところ、標準のヘッダファイルも参照していませんので、C言語が通る環境であれば大体通るかと思います。

注釈部

ISO-2022-JP

ISO-2022-JPは、要約するとJISコードから半角カナを取り除いたコードです。(省きすぎ (^^;)

参照されるコードは JIS X 0201 の 7bit (0x00~0x7F) 部分、JIS X 0208 を合わせた分です。