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