ToBase64

Description

Calculates the Base64 representation of a string or binary object. The Base64 format uses printable characters, allowing binary data to be sent in forms and e-mail, and stored in a database or file.

Returns

The Base64 representation of a string or binary object.

Function syntax

ToBase64(string or binary_object[, encoding])

See also

  • BinaryEncode for conversion of binary data to base64

  • cffile for information about loading and reading binary data

  • cfwddx for information about serializing and deserializing binary data

  • IsBinary and ToBinary for checking for binary data and converting a Base64 object to binary format

History

ColdFusion MX: Added the encoding parameter.

Parameters

Parameter

Description

string or binary_object

A string, the name of a string, or a binary object.

encoding

For a string, defines how characters are represented in a byte array. The following list includes commonly used values:

  • utf-8

  • iso-8859-1

  • windows-1252

  • us-ascii

  • shift_jis

  • iso-2022-jp

  • euc-jp

  • euc-kr

  • big5

  • euc-cn

  • utf-16

For more information on character encoding, see: www.w3.org/International/O-charset.html.

The default value is the encoding of the page on which the function is called. See cfcontent. For a binary object, this parameter is ignored.

Usage

Adobe recommends that you use the BinaryEncode function to convert binary data to Base64-encoded data in all new applications.

<h3>ToBase64 Example</h3> 
<!--- Initialize data. ----> 
<cfset charData = ""> 
<!--- Create string of ASCII characters (32-255); concatenate them ---> 
<cfloop index = "data" from = "32" to = "255"> 
    <cfset ch = chr(data)> 
    <cfset charData = charData & ch> 
</cfloop> 
<p> 
The following string is the concatenation of all characters (32 to 255)  
    from the ASCII table.<br> 
<cfoutput>#charData#</cfoutput> 
</p> 
<!--- Create a Base64 representation of this string. ----> 
<cfset data64 = toBase64(charData)> 
 
<!----- Convert string to binary. -------> 
<cfset binaryData = toBinary(data64)> 
<!--- Convert binary back to Base64. ----> 
<cfset another64 = toBase64(binaryData)> 
<!---- Compare another64 with data64 to ensure that they are equal. ----> 
<cfif another64 eq data64> 
    <h3>Base64 representations are identical.</h3> 
<cfelse> 
    <h3>Conversion error.</h3> 
</cfif>