BINARYDECODE |
Description Converts a string to a binary object. Used to convert binary data that has been encoded into string format back into binary data.
Returns A binary object.
Category Conversion functions, String functions
Function syntax
    BinaryDecode(string, binaryencoding)
See also BinaryEncode, CharsetEncode, CharsetDecode
History ColdFusion MX 7: Added this function.
Parameters
Usage Use this function to convert a binary-encoded string representation of binary data back to a binary object for use in your application. Binary data is often encoded as a string for transmission over many Internet protocols, such as HTTP and SMTP, or for storage in a database.

Macromedia recommends that you use the BinaryDecode function, not the ToBinary(base64data) function, to convert Base64-encoded data to binary data in all new applications.

See the following pages for additional information on handling binary data:

- cffile for loading and reading binary data in files
- cfwddx for serializing and deserializing binary data
- IsBinary for checking variables for binary format
- Len for determining the length of a binary object

Example The following example reads a GIF file as binary data, converts it to a binary-encoded string, converts the binary-encoded data back to binary data and writes the result to a file. It displays the encoded string and the image in the output file.
    <h3>Binary Encoding Conversion Example</h3>

    <!--- Do the following if the form has been submitted. --->
    <cfif IsDefined("Form.binEncoding")>

       <!--- Read in a binary data file. --->
       <cffile action="readbinary"
    file="C:\CFusionMX7\wwwroot\CFIDE\administrator\images\help.gif"
    variable="binimage">

       <!--- Convert the read data to binary encoding and back to binary data. --->
       <cfscript>
          binencode=BinaryEncode(binimage, Form.binEncoding);
          bindecode=BinaryDecode(binencode, Form.binEncoding);
       </cfscript>

       <!---  Write the converted results to a file. --->
       <cffile action="write" file="C:\temp\help.gif" output="#bindecode#"
    addnewline="No" >

       <!--- Display the results. --->
       <cfoutput>
          <p><b>The binary encoding:</b> #Form.binEncoding#</p>

          <p><b>The image converted into a binary-encoded string by BinaryEncode
             </b><br>
             #binencode#</p>
          <p><b>The image as written back to a file after converting back to binary
             using BinaryDecode</b><br>
          <img src="C:\temp\help.gif"><br>
       </cfoutput>
    </cfif>

    <!--- The input form. --->
    <form action="#CGI.SCRIPT_NAME#" method="post">
       <b>Select binary encoding</b><br>
       <select size="1" name="binEncoding" >
          <option selected>UU</option>
          <option>Base64</option>
          <option>Hex</option>
       </select><br>
       <br>
       <input type = "Submit" value = "convert my data">
    </form>

STRING |

A string containing encoded binary data.

BINARYENCODING |

A string specifying the algorithm used to encode the original binary data into a string; must be one of the following:

- Hex: the characters 0-9 and A-F represent the hexadecimal value of each byte; for example, 3A.
- UU: data is encoded using the UNIX UUencode algorithm.
- Base64: data is encoded using the Base64 algorithm, as specified by IETF RFC 2045, at www.ietf.org/rfc/rfc2045.txt.