x86: コード変換用関数 (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 を取り込んでください。