UTL_ENCODEパッケージは、ホスト間でのデータ転送が可能になるように、RAWデータを標準形式にエンコードするファンクションを提供します。 UTL_ENCODEファンクションを使用して、電子メール・テキストの本体をエンコードできます。また、このパッケージには、エンコード・ファンクションの対としてデコード・ファンクションも含まれています。デコード・ファンクションはエンコードの標準に準拠しており、送受信側においてOracle以外のユーティリティに対応しています。
この章では、次の項目について説明します。
表205-1 UTL_ENCODEパッケージのサブプログラム
| サブプログラム | 説明 |
|---|---|
|
|
BASE 64にエンコードされた |
|
|
|
|
|
文字列をMIMEヘッダー形式からデコードします。 |
|
|
文字列をMIMEヘッダー形式にエンコードします。 |
|
QUOTED_PRINTABLE_DECODEファンクション |
引用符付きの出力可能な形式の |
|
QUOTED_PRINTABLE_ENCODEファンクション |
|
|
|
キャラクタ・セットを区別するテキスト文字列をデコードします。 |
|
|
キャラクタ・セットを区別するテキスト文字列をエンコードします。 |
|
|
|
|
|
|
このファンクションは、BASE 64にエンコードされたRAW入力文字列を読み込み、元のRAW値にデコードします。
構文
UTL_ENCODE.BASE64_DECODE ( r IN RAW) RETURN RAW;
プラグマ
pragma RESTRICT_REFERENCES(base64_decode, WNDS, RNDS, WNPS, RNPS);
パラメータ
表205-2 BASE64_DECODEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
BASE 64にエンコードされたデータを含むRAW文字列。デフォルトのパラメータもオプションのパラメータも設定されていません。 |
戻り値
このファンクションは、RAW値のバイナリ表現をBASE 64要素にエンコードし、RAW文字列の形式で戻します。
構文
UTL_ENCODE.BASE64_ENCODE ( r IN RAW) RETURN RAW;
プラグマ
pragma RESTRICT_REFERENCES(base64_encode, WNDS, RNDS, WNPS, RNPS);
パラメータ
戻り値
このファンクションは、次の形式のエンコードされた語句を入力として受け入れます。
=?<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文字列としてコール元に戻されます。
構文
UTL_ENCODE.MIMEHEADER_DECODE ( buf IN VARCHAR2 CHARACTER SET ANY_CS) RETURN data VARCHAR2 CHARACTER SET buf%CHARSET;
パラメータ
戻り値
例
v2:=utl_encode.mimeheader_decode('=?ISO-8859-1?Q?Here is some encoded text?=');
このファンクションは、次の形式のエンコードされた語句を入力として受け入れます。
=?<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;
パラメータ
表205-8 MIMEHEADER_ENCODEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
テキスト・データ。 |
|
|
ターゲット・キャラクタ・セット。 |
|
|
エンコード形式。有効な値は |
戻り値
このファンクションは、引用符付きの出力可能な形式のVARCHAR2の入力文字列を読み込み、対応するRAW文字列にデコードします。
構文
UTL_ENCODE.QUOTED_PRINTABLE_DECODE ( r IN RAW) RETURN RAW;
プラグマ
pragma RESTRICT_REFERENCES(quoted_printable_decode, WNDS, RNDS, WNPS, RNPS);
パラメータ
表205-10 QUOTED_PRINTABLE_DECODEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
引用符付きの出力可能なデータ文字列を含むRAW文字列。デフォルトのパラメータもオプションのパラメータも設定されていません。 |
戻り値
このファンクションは、RAW入力文字列を読み込み、引用符付きの出力可能な形式の対応文字列にエンコードします。
構文
UTL_ENCODE.QUOTED_PRINTABLE_ENCODE ( r IN RAW) RETURN RAW;
プラグマ
pragma RESTRICT_REFERENCES(quoted_printable_encode, WNDS, RNDS,WNPS, RNPS);
パラメータ
戻り値
このファンクションを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;
パラメータ
表205-14 TEXT_DECODEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
エンコードされたテキスト・データ。 |
|
|
ソース・キャラクタ・セット。 |
|
|
エンコード形式。 有効な値は |
戻り値
例
v2:=UTL_ENCODE.TEXT_DECODE(
'Here is some text',
WE8ISO8859P1,
UTL_ENCODE.BASE64);
このファンクションを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;
パラメータ
表205-16 TEXT_ENCODEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
テキスト・データ。 |
|
|
ターゲット・キャラクタ・セット。 |
|
|
エンコード形式。有効な値は |
戻り値
例
v2:=utl_encode.text_encode(
'Here is some text',
'WE8ISO8859P1',
UTL_ENCODE.BASE64);
このファンクションは、RAWのuuencode形式の入力文字列を読み込み、対応するRAW文字列にデコードします。データ・ストリームでのUUENCODEおよびUUDECODEの累積性については、「UUENCODEファンクション」を参照してください。
構文
UTL_ENCODE.UUDECODE ( r IN RAW) RETURN RAW;
プラグマ
pragma RESTRICT_REFERENCES(uudecode, WNDS, RNDS, WNPS, RNPS);
パラメータ
表205-18 UUDECODEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
uuencodeにエンコードされたデータ文字列を含むRAW文字列。デフォルトのパラメータもオプションのパラメータも設定されていません。 |
戻り値
このファンクションは、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;
プラグマ
pragma RESTRICT_REFERENCES(uuencode, WNDS, RNDS, WNPS, RNPS);
パラメータ
表205-20 UUENCODEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
|
|
|
uuencodeにエンコードされた出力のタイプを含むオプションの数値パラメータ。オプション: complete: |
|
|
uuencodeファイル名を含むオプションの |
|
|
アクセス権モードを含むオプションの |
戻り値