データベース

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 で公開する予定であるので
それを参考にされたほうがよいだろう。