ToBase64

Returns the Base 64 representation of the string or binary object. Base64 is a format that uses printable characters, allowing binary data to be sent in forms and Email, and stored in a database or file.

See also CFFILE for information about loading and reading binary data, CFWDDX for information about serializing and deserializing binary data, and IsBinary and ToBinary for checking for binary data and converting a Base 64 object to binary form.

Syntax

ToBase64(string or binary_object)
string or binary_object

String or binary object that is to be converted to Base 64.

Usage

Base 64 provides 6 bit encoding of 8-bit ASCII characters. Because high ASCII values and binary objects are not safe for transport over internet protocols such as HTTP and SMTP, ColdFusion offers Base 64 as a means to safely send ASCII and binary data over these protocols.

In addition, Base 64 allows you to store binary objects in a database if you convert the data into Base 64 first.

Examples

<!--- This example shows the use of ToBinary and ToBase64 --->
<HTML>
<HEAD>
<TITLE>
ToBase64 Example
</TITLE>
</HEAD>

<BASEFONT FACE="Arial, Helvetica" SIZE=2>
<BODY  bgcolor="#FFFFD5">

<H3>ToBase64 Example</H3>

<!----------------------------------------------------------------------
Initialize data.
----------------------------------------------------------------------->
<CFSET charData ="">
<!----------------------------------------------------------------------
Create a string of all ASCII characters (32-255) and concatenate them 
together.
----------------------------------------------------------------------->
<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 Base 64 representation of this string.
----------------------------------------------------------------------->
<CFSET data64=toBase64(charData)>

<!----------------------------------------------------------------------
Convert string to binary.
----------------------------------------------------------------------->
<CFSET binaryData=toBinary(data64)>
<!----------------------------------------------------------------------
Convert binary back to Base 64.
----------------------------------------------------------------------->
<CFSET another64=toBase64(binaryData)>
<!----------------------------------------------------------------------
Compare another64 with data64 to ensure that they are equal.
----------------------------------------------------------------------->
<CFIF another64 eq data64>
    <H3>Base 64 representations are identical.</H3>
<CFELSE>
    <H3>Conversion error.</H3>
</CFIF>
</BODY>
</HTML>


1