| Interstage Application Server Smart Repository運用ガイド | 
| 目次
			索引    | 
| 第6章 アプリケーションの作成(C API) | > 6.2 関数インタフェース | > 6.2.19 エンコード/デコード処理 | 
この関数は、以下の変換規則にしたがってコード変換を行います。

 また、この関数は、ldap_conv_utf()と同等の機能/性能をもち、Solaris OE版、およびLinux版ldap_conv_utf2()とのインタフェース互換を維持する目的で使用します。


 また、この関数は、ldap_conv_utf()機能を分割することにより、性能向上を図っています。



【指定形式】
| int  ldap_conv_utf2(
        ldap_conv_func  *lcfp,
        char  *input, 
        char  **output,
        int  in,
        int  out 
        ); | 
【パラメタの説明】
ldap_conv_init()獲得されたldap_conv_func構造体のアドレスを指定します。
入力データのアドレスを指定します。入力データの最後にはNULL文字“\0”が設定されていなければなりません。
出力データのアドレスを設定するための、ポインタ変数のアドレスを指定します。
入力データのコード種別を指定します。inパラメタとoutパラメタのどちらか一方は、UTF-8を指定する必要があります。



出力データのコード種別を指定します。inパラメタとoutパラメタのどちらか一方は、UTF-8を指定する必要があります。



【復帰値】
この関数は、復帰値として以下に示す値を返します。
 正常完了の場合には、outputパラメタで指定されたポインタ変数に、出力データのアドレスが設定されています。
 エラーの詳細は、errnoを参照してください。
 errnoとSystem Errorsの対応は以下のとおりです。
| System Errors | errno | 意味 | 
|---|---|---|
| ERROR_INVALID_PARAMETER | EINVAL | パラメタの指定に誤りがあります。 | 
| ERROR_NOT_ENOUGH_MEMORY | ENOMEM | メモリ不足が発生しました。 | 
| ERROR_NO_UNICODE_TRANSLATION | EILSEQ | 指定されたコードには該当する文字コードが含まれていません。 | 
| ERROR_INSUFFICIENT_BUFFER | E2BIG | 指定されたデータの形式が違います。 | 
| − | ENOENT | ライブラリのロードに失敗しました。 | 
【注意事項】
inパラメタおよびoutパラメタには、コード変換の種類に応じて以下の値を指定します。

| コード変換の種類 | 指定するパラメタ | |
|---|---|---|
| in | out | |
| Shift JIS → UTF-8 | LDAP_CHARS_OPT_SJIS | LDAP_CHARS_OPT_UTF8 | 
| ISO-8859-1 → UTF-8 | LDAP_CHARS_OPT_88591 | LDAP_CHARS_OPT_UTF8 | 
| Unicode → UTF-8 | LDAP_CHARS_OPT_UCS2 | LDAP_CHARS_OPT_UTF8 | 
| UTF-8 → Shift JIS | LDAP_CHARS_OPT_UTF8 | LDAP_CHARS_OPT_SJIS | 
| UTF-8 → ISO-8859-1 | LDAP_CHARS_OPT_UTF8 | LDAP_CHARS_OPT_88591 | 
| UTF-8 → Unicode | LDAP_CHARS_OPT_UTF8 | LDAP_CHARS_OPT_UCS2 | 


| コード変換の種類 | 指定するパラメタ | |
|---|---|---|
| in | out | |
| EUC → UTF-8 | LDAP_CHARS_OPT_EUCJP | LDAP_CHARS_OPT_UTF8 | 
| Shift JIS → UTF-8 | LDAP_CHARS_OPT_SJIS | LDAP_CHARS_OPT_UTF8 | 
| ISO-8859-1 → UTF-8 | LDAP_CHARS_OPT_88591 | LDAP_CHARS_OPT_UTF8 | 
| Unicode → UTF-8 | LDAP_CHARS_OPT_UCS2 | LDAP_CHARS_OPT_UTF8 | 
| UTF-8 → EUC | LDAP_CHARS_OPT_UTF8 | LDAP_CHARS_OPT_EUCJP | 
| UTF-8 → Shift JIS | LDAP_CHARS_OPT_UTF8 | LDAP_CHARS_OPT_SJIS | 
| UTF-8 → ISO-8859-1 | LDAP_CHARS_OPT_UTF8 | LDAP_CHARS_OPT_88591 | 
| UTF-8 → Unicode | LDAP_CHARS_OPT_UTF8 | LDAP_CHARS_OPT_UCS2 | 
ldap_conv_utf2()で通知された領域は、不要になった時点でldap_memfree()を使用して解放しなければなりません。詳細は、“動的メモリの解放”を参照してください。
ldap_conv_init()で獲得されたldap_conv_func構造体の領域は、不要になった時点でldap_conv_close()を使用して解放しなければなりません。
| 目次
			索引    |