UTL_ENCODEパッケージは、ホスト間でのデータ転送が可能になるように、RAWデータを標準形式にエンコードするファンクションを提供します。UTL_ENCODEファンクションを使用して、電子メール・テキストの本体をエンコードできます。また、このパッケージには、エンコード・ファンクションの対としてデコード・ファンクションも含まれています。デコード・ファンクションはエンコードの標準に準拠しており、送受信側においてOracle以外のユーティリティに対応しています。
この章では、次の項目について説明します。
表223-1 UTL_ENCODEパッケージのサブプログラム
| サブプログラム | 説明 |
|---|---|
|
|
BASE 64にエンコードされた |
|
|
|
|
|
文字列をMIMEヘッダー形式からデコードします。 |
|
|
文字列をMIMEヘッダー形式にエンコードします。 |
|
QUOTED_PRINTABLE_DECODEファンクション |
引用符付きの出力可能な形式の |
|
QUOTED_PRINTABLE_ENCODEファンクション |
|
|
|
キャラクタ・セットを区別するテキスト文字列をデコードします。 |
|
|
キャラクタ・セットを区別するテキスト文字列をエンコードします。 |
|
|
|
|
|
|
このファンクションは、次の形式のエンコードされた語句を入力として受け入れます。
=?<charset>?<encoding>?<encoded text>?= =?ISO-8859-1?Q?Here is some encoded text?=
<encoded text>はMIMEヘッダー・タグで囲まれ、文字列のデコード方法に関するMIMEHEADER_DECODEファンクション情報を示します。MIMEヘッダー・メタデータ・タグは入力文字列から取り除かれ、<encoded text>は次のようにデータベースのベース・キャラクタ・セットに変換されます。
UTF16プラットフォームの場合は、エンコードされたテキストがUTF16からASCIIに変換されます。
EBCDICプラットフォームの場合は、エンコードされたテキストがEBCDICからASCIIに変換されます。
ASCIIまたはUTF8プラットフォームの場合は、変換は不要です。
文字列は、エンコードされた語句内の<encoding>メタデータ・タグの指定に従って、quoted-printableデコード形式またはBASE64デコード形式のどちらかを使用してデコードされます。変換およびデコードの結果としてのテキストは、VARCHAR2文字列としてコール元に戻されます。
このファンクションは、次の形式のエンコードされた語句を出力として戻します。
=?<charset>?<encoding>?<encoded text>?= =?ISO-8859-1?Q?Here is some text?=
buf入力パラメータはエンコード対象のテキストであり、<encoded text>になります。
<encoding>の値は"Q"または"B"になり、それぞれquoted-printableのエンコードまたはBASE64のエンコードを表します。ENCODING入力パラメータは、UTL_ENCODE.QUOTED_PRINTABLE、UTL_ENCODE.BASE64またはNULLを有効な値として受け入れます。NULLの場合は、quoted-printableのエンコードがデフォルト値として選択されます。
<charset>の値は、入力パラメータencode_charsetとして指定されます。NULLの場合は、データベース・キャラクタ・セットがデフォルト値として選択されます。
MIMEヘッダー・エンコード処理には、buf入力文字列からencode_charsetパラメータで指定されるキャラクタ・セットへの変換も含まれます。変換された文字列は、quoted-printableエンコード形式またはBASE64エンコード形式のいずれかにエンコードされます。MIMEヘッダー・タグは、後に追加される場合と前に付加される場合があります。
最終的に、文字列は次のようにデータベースのベース・キャラクタ・セットに変換されます。
UTF16プラットフォームの場合は、エンコードされたテキストがUTF16に変換されます。
EBCDICプラットフォームの場合は、エンコードされたテキストがEBCDICに変換されます。
ASCIIまたはUTF8プラットフォームの場合は、変換は不要です。
構文
UTL_ENCODE.MIMEHEADER_ENCODE ( buf IN VARCHAR2 CHARACTER SET ANY_CS, encode_charset IN VARCHAR2 DEFAULT NULL, encoding IN PLS_INTEGER DEFAULT NULL) RETURN string VARCHAR2 CHARACTER SET buf%CHARSET;
このファンクションは、引用符付きの出力可能な形式のVARCHAR2の入力文字列を読み込み、対応するRAW文字列にデコードします。
このファンクションをNULL以外に設定すると、encode_charsetパラメータの指定に従って、入力テキストがターゲット・キャラクタ・セットに変換されます。エンコードされたテキストは、次のようにデータベースのベース・キャラクタ・セットに変換されます。
UTF16プラットフォームの場合は、エンコードされたテキストがUTF16からASCIIに変換されます。
EBCDICプラットフォームの場合は、エンコードされたテキストがEBCDICからASCIIに変換されます。
ASCIIまたはUTF8プラットフォームの場合は、変換は不要です。
それぞれのencodingパラメータに従って、quoted-printable形式またはBASE64形式のいずれかからデコードできます。NULLの場合は、quoted-printable形式がデフォルトのデコード形式として選択されます。encode_charsetがNULL以外の場合は、指定したキャラクタ・セットからデータベース・キャラクタ・セットに文字列が変換されます。デコードされ、変換された結果としてのテキスト文字列がコール元に戻されます。
構文
UTL_ENCODE.TEXT_DECODE( buf IN VARCHAR2 CHARACTER SET ANY_CS, encode_charset IN VARCHAR2 DEFAULT NULL, encoding IN PLS_INTEGER DEFAULT NULL) RETURN string VARCHAR2 CHARACTER SET buf%CHARSET;
このファンクションをNULL以外に設定すると、encode_charsetパラメータの指定に従って、入力テキストがターゲット・キャラクタ・セットに変換されます。テキストは、encodingパラメータの指定に従って、BASE64形式またはquoted-printable形式のどちらかにエンコードされます。encodingをNULLに設定すると、quoted-printable形式がデフォルトとして選択されます。
エンコードされたテキストは、次のようにデータベースのベース・キャラクタ・セットに変換されます。
UTF16プラットフォームの場合は、エンコードされたテキストがUTF16に変換されます。
EBCDICプラットフォームの場合は、エンコードされたテキストがEBCDICに変換されます。
ASCIIまたはUTF8プラットフォームの場合は、変換は不要です。
エンコードされ、変換された結果としてのテキスト文字列がコール元に戻されます。
構文
UTL_ENCODE.TEXT_ENCODE ( buf IN VARCHAR2 CHARACTER SET ANY_CS, encode_charset IN VARCHAR2 DEFAULT NULL, encoding IN PLS_INTEGER DEFAULT NULL) RETURN string VARCHAR2 CHARACTER SET buf%CHARSET;
このファンクションは、RAWのuuencode形式の入力文字列を読み込み、対応するRAW文字列にデコードします。データ・ストリームでのUUENCODEおよびUUDECODEの累積性については、「UUENCODEファンクション」を参照してください。
このファンクションは、RAW入力文字列を読み取り、対応するuuencode形式の文字列にエンコードします。このファンクションの出力は累積されます。つまり、このファンクションを使用すると、データ・ストリームを許容サイズのRAW値に分割してエンコードし、エンコードされた単一の文字列に連結することで、大容量のデータ・ストリームをエンコードできます。
構文
UTL_ENCODE.UUENCODE ( r IN RAW, type IN PLS_INTEGER DEFAULT 1, filename IN VARCHAR2 DEFAULT NULL, permission IN VARCHAR2 DEFAULT NULL) RETURN RAW;
パラメータ
表223-20 UUENCODEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
|
|
|
uuencodeにエンコードされた出力のタイプを含むオプションの数値パラメータ。オプション: complete: |
|
|
uuencodeファイル名を含むオプションの |
|
|
アクセス権モードを含むオプションの |