- カテゴリ:
文字列とバイナリ関数 (エンコード/デコード)
BASE64_DECODE_BINARY¶
Base64でエンコードされた文字列をバイナリにデコードします。
- こちらもご参照ください。
構文¶
引数¶
必須:
inputBase64でエンコードされた文字列式です。
オプション:
alphabet最大3つの ASCII 文字で構成される文字列です。
文字列の最初の2文字は、入力のエンコードに使用されるアルファベットの最後の2文字(インデックス62および63)を指定します。
AからZ(インデックス0~25)aからz(インデックス26~51)0から9(インデックス52~61)+および/(インデックス62、63)
デフォルト:
+および/文字列の3番目の文字は、パディングに使用される文字を指定します。
デフォルト:
=
戻り値¶
これは BINARY 値を返します。例えば、値は BINARY 型の列に挿入できます。
使用上の注意¶
alphabet文字列の文字は位置的に解析されます。文字列の2番目または3番目の位置に異なる文字を指定するには、デフォルトを使用する場合でも、先行するすべての文字を明示的に指定する必要があります。例:
+$は、インデックス62のデフォルト(+)とインデックス63の別の文字($)を指定します。パディングに明示的に文字が指定されていないため、デフォルトの文字(=)が使用されます。+/%は、インデックス62および63のデフォルト(+および/)を指定し、パディングに異なる文字(%)を指定します。
alphabetをデコードするために使用されるinput文字列は、inputをエンコードするために最初に使用された文字列と 一致する必要があります 。
base64形式の詳細については、 Base64 をご参照ください。
例¶
この例では、データを文字列からバイナリに変換してから、バイナリから BASE64 文字列にエンコードします。その後、base64文字列をデコードしてバイナリに戻し、バイナリを文字列に変換します。
テーブルとデータを作成します。これには、文字列をバイナリに変換し、そのバイナリを BASE64 文字列に変換することが含まれます。
元の文字列、文字列のバイナリ形式(実際には16進数として表示)、さらにバイナリの BASE64 形式が表示されます。
データを取得して、元の形式にデコードします。繰り返しますが、2番目と4番目の列の純粋なバイナリ値は、内部バイナリ形式ではなく16進数として表示されます。
次の例は前の例と似ていますが、 alphabet パラメーターを指定して、「$」が BASE64 エンコードのインデックス62のエンコード文字であることを示します。インデックス62に必要な多様なデータを得るために、データ文字列はより多くの異なる文字を使用します。
テーブルとデータを作成します。これには、文字列をバイナリに変換し、そのバイナリを BASE64 文字列に変換することが含まれます。
データを取得して、元の形式にデコードします。この出力列は幅が広いため、この例では1つではなく5つの個別の SELECT ステートメントを実行します。純粋なバイナリ値は内部バイナリ形式としてではなく、16進数として表示されます。BASE64 文字列のドル記号(「$」)にも注意してください(以下の3番目の出力)。