ヘッダーをスキップ
Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス
10g リリース2(10.2)
B19245-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

167 UTL_ENCODE

UTL_ENCODEパッケージは、ホスト間でのデータ転送が可能になるように、RAWデータを標準形式にエンコードするファンクションを提供します。UTL_ENCODEファンクションを使用して、電子メール・テキストの本体をエンコードできます。また、このパッケージには、エンコード・ファンクションの対としてデコード・ファンクションも含まれています。デコード・ファンクションはエンコードの標準に準拠しており、送受信側においてOracle以外のユーティリティに対応しています。

この章では、次の項目について説明します。


UTL_ENCODEサブプログラムの要約

表167-1 UTL_ENCODEパッケージのサブプログラム

サブプログラム 説明

BASE64_DECODEファンクション


BASE 64にエンコードされたRAW入力文字列を読み込み、元のRAW値にデコードします。

BASE64_ENCODEファンクション


RAW値のバイナリ表現をBASE 64要素にエンコードし、RAW文字列の形式で戻します。

MIMEHEADER_DECODEファンクション


文字列をMIMEヘッダー形式からデコードします。

MIMEHEADER_ENCODEファンクション


文字列をMIMEヘッダー形式にエンコードします。

QUOTED_PRINTABLE_DECODEファンクション


引用符付きの出力可能な形式のVARCHAR2の入力文字列を読み込み、対応するRAW文字列にデコードします。

QUOTED_PRINTABLE_ENCODEファンクション


RAW入力文字列を読み込み、引用符付きの出力可能な形式の対応文字列にエンコードします。

TEXT_DECODEファンクション


キャラクタ・セットを区別するテキスト文字列をデコードします。

TEXT_ENCODEファンクション


キャラクタ・セットを区別するテキスト文字列をエンコードします。

UUDECODEファンクション


RAWのuuencode形式の入力文字列を読み込み、対応するRAW文字列にデコードします。

UUENCODEファンクション


RAW入力文字列を読み込み、対応するuuencode形式の文字列にエンコードします。



BASE64_DECODEファンクション

このファンクションは、BASE 64にエンコードされたRAW入力文字列を読み込み、元のRAW値にデコードします。

構文

UTL_ENCODE.BASE64_DECODE (
   r  IN RAW)
RETURN RAW;

プラグマ

pragma RESTRICT_REFERENCES(base64_decode, WNDS, RNDS, WNPS, RNPS);

パラメータ

表167-2 BASE64_DECODEファンクションのパラメータ

パラメータ 説明

r

BASE 64にエンコードされたデータを含むRAW文字列。デフォルトのパラメータもオプションのパラメータも設定されていません。


戻り値

表167-3 BASE64_DECODEファンクションの戻り値

戻り値 説明

RAW

デコードされた文字列を含みます。



BASE64_ENCODEファンクション

このファンクションは、RAW値のバイナリ表現をBASE 64要素にエンコードし、RAW文字列の形式で戻します。

構文

UTL_ENCODE.BASE64_ENCODE (
   r  IN RAW)
RETURN RAW;

プラグマ

pragma RESTRICT_REFERENCES(base64_encode, WNDS, RNDS, WNPS, RNPS);

パラメータ

表167-4 BASE64_ENCODEファンクションのパラメータ

パラメータ 説明

r

エンコードされるRAW値。デフォルトのパラメータもオプションのパラメータも設定されていません。


戻り値

表167-5 BASE64_ENCODEファンクションの戻り値

戻り値 説明

RAW

エンコードされたBASE 64要素を含みます。



MIMEHEADER_DECODEファンクション

このファンクションは、次の形式のエンコードされた語句を入力として受け入れます。

=?<charset>?<encoding>?<encoded text>?=
=?ISO-8859-1?Q?Here is some encoded text?=

<encoded text>はMIMEヘッダー・タグで囲まれ、文字列のデコード方法に関するMIMEHEADER_DECODEファンクション情報を示します。 MIMEヘッダー・メタデータ・タグは入力文字列から取り除かれ、<encoded text>は次のようにデータベースのベース・キャラクタ・セットに変換されます。

文字列は、エンコードされた語句内の<encoding>メタデータ・タグの指定に従って、quoted-printableデコード形式またはBASE64デコード形式のどちらかを使用してデコードされます。変換およびデコードの結果としてのテキストは、VARCHAR2文字列としてコール元に戻されます。

構文

UTL_ENCODE.MIMEHEADER_DECODE (
   buf    IN   VARCHAR2 CHARACTER SET ANY_CS)
  RETURN data VARCHAR2 CHARACTER SET buf%CHARSET;

パラメータ

表167-6 MIMEHEADER_DECODEファンクションのパラメータ

パラメータ 説明

buf

MIMEヘッダー形式のタグのあるエンコードされたテキスト・データ。


戻り値

表167-7 MIMEHEADER_DECODEファンクションの戻り値

戻り値 説明

data

MIMEヘッダー形式のタグのあるエンコードされたテキスト・データ。


v2:=utl_encode.mimeheader_decode('=?ISO-8859-1?Q?Here is some encoded text?=');

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_PRINTABLEUTL_ENCODE.BASE64またはNULLを有効な値として受け入れます。NULLの場合は、quoted-printableのエンコードがデフォルト値として選択されます。

<charset>の値は、入力パラメータencode_charsetとして指定されます。NULLの場合は、データベース・キャラクタ・セットがデフォルト値として選択されます。

MIMEヘッダー・エンコード処理には、buf入力文字列からencode_charsetパラメータで指定されるキャラクタ・セットへの変換も含まれます。変換された文字列は、quoted-printableエンコード形式またはBASE64エンコード形式のいずれかにエンコードされます。MIMEヘッダー・タグは、後に追加される場合と前に付加される場合があります。

最終的に、文字列は次のようにデータベースのベース・キャラクタ・セットに変換されます。

構文

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;

パラメータ

表167-8 MIMEHEADER_ENCODEファンクションのパラメータ

パラメータ 説明

buf

テキスト・データ。

encode_charset

ターゲット・キャラクタ・セット。

encoding

エンコード形式。有効な値はUTL_ENCODE.BASE64UTL_ENCODE.QUOTED_PRINTABLEおよびNULLです。


戻り値

表167-9 MIMEHEADER_ENCODEファンクションの戻り値

戻り値 説明

string

MIMEヘッダー形式のタグを持つ、VARCHAR2にエンコードされた文字列。



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);

パラメータ

表167-10 QUOTED_PRINTABLE_DECODEファンクションのパラメータ

パラメータ 説明

r

引用符付きの出力可能なデータ文字列を含むRAW文字列。デフォルトのパラメータもオプションのパラメータも設定されていません。


戻り値

表167-11 QUOTED_PRINTABLE_DECODEファンクションの戻り値

戻り値 説明

RAW

デコードされた文字列。



QUOTED_PRINTABLE_ENCODEファンクション

このファンクションは、RAW入力文字列を読み込み、引用符付きの出力可能な形式の対応文字列にエンコードします。

構文

UTL_ENCODE.QUOTED_PRINTABLE_ENCODE (
   r  IN RAW)
RETURN RAW;

プラグマ

pragma RESTRICT_REFERENCES(quoted_printable_encode, WNDS, RNDS,WNPS, RNPS);

パラメータ

表167-12 QUOTED_PRINTABLE_ENCODEファンクションのパラメータ

パラメータ 説明

r

RAW文字列。デフォルトのパラメータもオプションのパラメータも設定されていません。


戻り値

表167-13 QUOTED_PRINTABLE_ENCODEファンクションの戻り値

戻り値 説明

RAW

引用符付きの出力可能な文字列を含みます。



TEXT_DECODEファンクション

このファンクションをNULL以外に設定すると、encode_charsetパラメータの指定に従って、入力テキストがターゲット・キャラクタ・セットに変換されます。エンコードされたテキストは、次のようにデータベースのベース・キャラクタ・セットに変換されます。

それぞれのencodingパラメータに従って、quoted-printable形式またはBASE64形式のいずれかからデコードできます。NULLの場合は、quoted-printable形式がデフォルトのデコード形式として選択されます。encode_charsetNULL以外の場合は、指定したキャラクタ・セットからデータベース・キャラクタ・セットに文字列が変換されます。デコードされ、変換された結果としてのテキスト文字列がコール元に戻されます。

構文

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;

パラメータ

表167-14 TEXT_DECODEファンクションのパラメータ

パラメータ 説明

buf

エンコードされたテキスト・データ。

encode_charset

ソース・キャラクタ・セット。

encoding

エンコード形式。有効な値はUTL_ENCODE.BASE64UTL_ENCODE.QUOTED_PRINTABLEおよびNULLです。


戻り値

表167-15 TEXT_DECODEファンクションの戻り値

戻り値 説明

string

VARCHAR2にデコードされたテキスト文字列。


 v2:=UTL_ENCODE.TEXT_DECODE(
      'Here is some text',
       WE8ISO8859P1,
       UTL_ENCODE.BASE64);

TEXT_ENCODEファンクション

このファンクションをNULL以外に設定すると、encode_charsetパラメータの指定に従って、入力テキストがターゲット・キャラクタ・セットに変換されます。テキストは、encodingパラメータの指定に従って、BASE64形式またはquoted-printable形式のどちらかにエンコードされます。encodingをNULLに設定すると、quoted-printable形式がデフォルトとして選択されます。

エンコードされたテキストは、次のようにデータベースのベース・キャラクタ・セットに変換されます。

エンコードされ、変換された結果としてのテキスト文字列がコール元に戻されます。

構文

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;

パラメータ

表167-16 TEXT_ENCODEファンクションのパラメータ

パラメータ 説明

buf

テキスト・データ。

encode_charset

ターゲット・キャラクタ・セット。

encoding

エンコード形式。有効な値はUTL_ENCODE.BASE64UTL_ENCODE.QUOTED_PRINTABLEおよびNULLです。


戻り値

表167-17 TEXT_ENCODEファンクションの戻り値

戻り値 説明

string

MIMEヘッダー形式のタグを持つ、VARCHAR2にエンコードされた文字列。


v2:=utl_encode.text_encode(
   'Here is some text',
   'WE8ISO8859P1',
    UTL_ENCODE.BASE64);

UUDECODEファンクション

このファンクションは、RAWのuuencode形式の入力文字列を読み込み、対応するRAW文字列にデコードします。データ・ストリームでのUUENCODEおよびUUDECODEの累積性については、「UUENCODEファンクション」を参照してください。

構文

UTL_ENCODE.UUDECODE (
   r  IN RAW)
RETURN RAW;

プラグマ

pragma RESTRICT_REFERENCES(uudecode, WNDS, RNDS, WNPS, RNPS);

パラメータ

表167-18 UUDECODEファンクションのパラメータ

パラメータ 説明

r

uuencodeにエンコードされたデータ文字列を含むRAW文字列。デフォルトのパラメータもオプションのパラメータも設定されていません。


戻り値

表167-19 UUDECODEファンクションの戻り値

戻り値 説明

RAW

デコードされたRAW文字列。



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);

パラメータ

表167-20 UUENCODEファンクションのパラメータ

パラメータ 説明

r

RAW文字列。

type

uuencodeにエンコードされた出力のタイプを含むオプションの数値パラメータ。オプション:

complete: 1の値を持つPL/SQLの事前定義定数。(デフォルト)header_piece ...middle_piece ...end_piece

filename

uuencodeファイル名を含むオプションのVARCHAR2パラメータ。デフォルトはuuencode.txtです。

permission

アクセス権モードを含むオプションのVARCHAR2パラメータ。デフォルトは0(テキスト文字列のゼロ)です。


戻り値

表167-21 UUENCODEファンクションの戻り値

戻り値 説明

RAW

uuencode形式の文字列を含みます。