ColdFusion MX
目 次 > CFML リファレンス > ColdFusion 関数 > ToBase64 O

ToBase64

文字列またはバイナリオブジェクトを Base64 表現に変換します。Base64 表現は印刷可能な文字を使用する形式で、バイナリデータをフォームや電子メールで送信したり、データベースやファイルに保存することができます。

文字列またはバイナリオブジェクトの Base64 表現。

変換関数その他の関数文字列関数

ToBase64(string または binary_object[, encoding])

ColdFusion MX: encoding 属性を追加しました。

パラメータ

説明

string または binary_object

文字列、文字列名、またはバイナリオブジェクトです。

encoding

文字列の場合は、バイト配列内での文字の表現方法を指定します。よく使われる値を次に示します。

  • utf-8
  • iso-8859-1
  • windows-1252
  • us-ascii
  • shift_jis
  • iso-2022-jp
  • euc-jp
  • euc-kr
  • big5
  • euc-cn
  • utf-16

文字エンコードの詳細については、www.w3.org/International/O-charset.html を参照してください。

デフォルトは、この関数を呼び出すページのエンコードです。cfcontentを参照してください。

バイナリオブジェクトの場合は、このパラメータは無視されます。

Base64 はデータを 6 ビットでエンコードします。エンコード処理は、入力ビットの 24 ビットごとのグループを、4 文字の ASCII 文字列に変換するという形で行われます。HTTP や SMTP など、多くのインターネットプロトコルでは、バイナリオブジェクトや一部の 8 ビット文字を転送することができません。Base64 を使えば、どんなインターネットプロトコルでも安全に転送できる形式にデータを変換できます。

Base64 を使用すると、バイナリオブジェクトをデータベースに格納することができます。

メモ: Base64 でエンコードされた文字列を元に戻すには、まずバイナリオブジェクトに変換してから、toString 関数を使用してそのバイナリオブジェクトを文字列に変換します。

<h3>ToBase64 の例</h3>
<!--- データの初期化 ---->
<cfset charData = "">
<!--- ASCII 文字 (32 ~ 255) を作成し、それらを連結 --->
<cfloop index = "data" from = "32" to = "255">
   <cfset ch = chr(data)>
   <cfset charData = charData & ch>
</cfloop>
<p>
次の文字列は、ASCII 表のすべての文字 (32 ~ 255) を連結したものです。<br>
<cfoutput>#charData#</cfoutput>
</p>
<!--- この文字列を Base64 形式に変換したものを作成 ---->
<cfset data64 = toBase64(charData)>

<!----- 文字列をバイナリに変換 ------->
<cfset binaryData = toBinary(data64)>
<!--- バイナリを Base64 に戻す ---->
<cfset another64 = toBase64(binaryData)>
<!---- another64 と data64 を比較し、両者が一致することを確認 ---->
<cfif another64 eq data64>
   <h3>2 つの Base64 表現は一致しています。</h3>
<cfelse>
   <h3>変換エラーです。</h3>
</cfif>

目 次 > CFML リファレンス > ColdFusion 関数 > ToBase64 O