JFP 開発ガイド

コード変換用関数 (jisconv、ibmjcode)

日本語専用ライブラリは、JIS X 0208 文字集合のコード変換機能を提供します。これらの関数は、JIS X 0208 (jis)、日本語 EUC コード (uj)、PC 漢字コード (sj) 間でコード変換を行います。これらの関数を使用する場合は、/usr/include/jcode.h を取り込んでください。cjistosj(3X)cujtosj(3X) などの 1 文字コード変換用関数は、JIS X 0208 の漢字セットと JIS X 0201 のアルファベット文字またはかな文字のセットで定義され、JIS X 0208-1983 文字セットの指示は「ESC$B」、JIS X 0201-1976 文字セットの指示は「ESC (J」のシーケンスによって行われます。

表 A-5 コード変換用関数

関数

機能

cjistosj()

漢字の JIS 文字 1 文字を PC 漢字文字に変換する 

cjistouj()

漢字の JIS 文字 1 文字を日本語 EUC コード文字に変換する 

cujtojis()

漢字の日本語 EUC コード文字 1 文字を JIS 文字に変換する 

cujtosj()

漢字の日本語 EUC コード文字 1 文字を PC 漢字文字に変換する 

csjtojis()

PC 漢字文字 1 文字を JIS 文字に変換する 

csjtouj()

PC 漢字文字 1 文字を日本語 EUC コード文字に変換する 

jis7tosj()

7 ビット JIS 文字の文字列を PC 漢字文字の文字列に変換する 

jis7touj()

7 ビット JIS 文字の文字列を日本語 EUC コード文字の文字列に変換する 

sjtojis7()

PC 漢字文字の文字列を 7 ビット JIS 文字の文字列に変換する 

ujtojis7()

日本語 EUC コード文字の文字列を 7 ビット JIS 文字の文字列に変換する 

jis8tosj()

8 ビット JIS 文字の文字列を PC 漢字文字の文字列に変換する 

jis8touj()

8 ビット JIS 文字の文字列を日本語 EUC コード文字の文字列に変換する 

sjtojis8()

PC 漢字文字の文字列を 8 ビット JIS 文字の文字列に変換する 

ujtojis8()

日本語 EUC コード文字の文字列を 8 ビット JIS 文字の文字列に変換する 

jistosj()

jis8tosj() と同じ

jistouj()

jis8touj() と同じ

ujtojis()

ujtojis8() と同じ

ujtosj()

日本語 EUC コード文字の文字列を PC 漢字文字の文字列に変換する 

sjtojis()

sjtojis8() と同じ

sjtouj()

PC 漢字文字の文字列を日本語 EUC コード文字の文字列に変換する 

例 A-4 は、このコード変換用関数を使って、EUC から JIS コードへコード変換するプログラム例です。


例 A-4 コード変換用関数

sun% cat example4.c
#include <stdio.h>
#include <jcode.h>

main()
{
	char inbuf[2048];
	char outbuf[2048];

		while(gets(inbuf) != NULL) {
			ujtojis(outbuf, inbuf);
			puts(outbuf);
	}
}
sun% cc -o example4 example4.c -ljapanese
sun% cat 入力ファイル4
これは、コード変換のテスト用に作成したファイルです。
いかがでしょう。
sun% ./example4 < 入力ファイル4 | jistoeuc
これは、コード変換のテスト用に作成したファイルです。
いかがでしょう。
sun%

IBM 漢字コードと日本語 EUC コード間のコード変換を行う一連の関数も提供されています (ibmjcode(3X) 参照)。これらの関数を使用する場合は、/usr/include/ibmjcode.h を取り込んでください。