データベース

29. Unicode の変換API は ?

Unicode との変換は、どのように行えばよいのだろうか ?

お馴染みのデータ変換 API: QDCXLATE ではない。

QDCXLATEEBCDIC/ASCII の変換だけである。

Unicode との変換は UNIX コマンドとして知られている iconv 関数が

System i でも提供されているので、これを利用することになる。

iconv

#include <iconv.h>

size_t iconv(iconv_t,       /* QtqIconvOpen() 関数によって取得される変換記述子 */
char** inbuf,  /* 入力文字ストリング */
size_t,        /* 入力文字ストリング長 */
char** outbuf, /* 出力文字ストリング */
size_t         /* 出力文字ストリング長 */
)

のようにして比較的簡単なように見えるのだが、サイズ長が正確に指定されていなければ

ならなくて不正確である場合には iconv がエラーを戻してしまう。

IBM サイトを iconv で検索すれば iconv のサンプル・ソースにたどり着けるが

日本語を iconv を使って Unicode との変換を実行するには骨が折れる。

近日中に弊社が開発したサービス・プログラムをこのサイトの Tools で公開する予定であるので

それを参考にされたほうがよいだろう。