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ファイル名を含むオプションの |
|
アクセス権モードを含むオプションの |