CAST_TO_RAW をご覧ください。 文書化:
これを使用する必要があります:
base64DecodedInput:= UTL_ENCODE.base64_decode(UTL_RAW.CAST_TO_RAW(TO_CHAR(valueToDecrypt)));
DBMS_OUTPUT.PUT_LINE ( 'Base64 decoded is: ' || base64DecodedInput);
00010203040506074DBBEAB1D9972AB0
どの(フォーマット済み)が目的の結果と等しくなる必要があります:
00 01 02 03 04 05 06 07 4D BB EA B1 D9 97 2A B0
NVARCHAR2
を使用することはまったく役に立ちません BASE64文字列の場合。 BASE64エンコーディングの主な目的は、ASCII文字のみで任意のデータを表すことであるため、NVARCHAR2は意味がありません。 BASE64にはASCIIのみが含まれているため、CAST(... AS VARCHAR2(200))
での文字エンコードについて心配する必要はありません。 。
もちろん、デコードの場合 文字列データ型NVARCHAR2
とても便利かもしれません。