UUDECODE¶
UUDECODE 関数を使用して、uuencodeエンコード文字列を UUENCODE 関数によって元々エンコードされた RAW 値に変換およびデコードします。署名は次のとおりです。
UUDECODE(<r> IN RAW)
この関数は RAW 値を返します。
AdvancedServerの UUDECODE 関数を使用して、 UTL_ENCODE.UUENCODE 関数のOracle実装によって作成されたuuencodedデータをデコードする場合、Advancedを呼び出す前に、まずAdvancedServer構成パラメーター utl_encode.uudecode_redwood を TRUE に設定する必要がありますOracleが作成したデータに対するサーバー UUDECODE 機能。(たとえば、uuencodeされたデータを含むOracleテーブルをAdvancedServerデータベースに移行した場合、この状況が発生する可能性があります。)
Oracleバージョンの UUENCODE 関数によって作成されたuuencodeされたデータは、AdvancedServerの UUENCODE 関数によって作成されたuuencodeされたデータとは異なる形式になります。その結果、構成パラメーター utl_encode.uudecode_redwood が TRUE に設定されていない限り、OracleuuencodedデータでAdvancedServer UUDECODE 機能を使用しようとするとエラーが発生します。
ただし、AdvancedServerの UUENCODE 機能によって作成されたuuencodeされたデータに対してAdvancedServerの UUDECODE 機能を使用している場合は、 utl_encode.uudecode_redwood をデフォルト設定の FALSE に設定する必要があります。
Parameters
r
rには、RAWに変換されるuuencodeされた文字列が含まれます。
Examples
次の例を実行する前に、コマンドを呼び出します。
SET bytea_output = escape;
このコマンドは、印刷できない文字をエスケープし、 BYTEA または RAW の値を読み取り可能な形式で画面に表示するようにサーバーに指示します。詳細については、次のWebサイトで入手可能なPostgresコアドキュメントを参照してください。
次の例では、 UUENCODE と UUDECODE を使用して、文字列を最初にエンコードしてからデコードします。
edb=# SET bytea_output = escape;
SET
edb=# SELECT UTL_ENCODE.UUENCODE('What is the date?') FROM DUAL;
uuencode
--------------------------------------------------------------------
begin 0 uuencode.txt\01215VAA="!I<R!T:&4@9&%T93\\`\012`\012end\012
(1 row)
edb=# SELECT UTL_ENCODE.UUDECODE
edb-# ('begin 0 uuencode.txt\01215VAA="!I<R!T:&4@9&%T93\\`\012`\012end\012')
edb-# FROM DUAL;
uudecode
-------------------
What is the date?
(1 row)