Connect to the Purdue Home Page

Purdue University

Identity and Access Management

Base 64 Encoding

Base 64 encoding is a way to represent arbitrary data as printable ASCII characters. It is used to represent I2A2 field values when they might have characters or values that conflict with I2A2 reserved characters and processing.

Base 64 encoding was developed in the Symbolic Systems Resources Group of the Knowledge Systems Laboratory at Stanford University in 1987-88, and was funded by the Biomedical Research Technology Program of the National Institutes of Health under grant number RR-00785.

Base 64 encoding is also described in some Internet Request for Comments (RFC) documents -- for example, numbers 822 and 1521. Internet RFC's are maintained by the Internet Engineering Task Force (IETF) Secretariat.


Base 64 encoding requires insertion of CR/LF pairs every 76 output characters. However, the I2A2 protocol does not allow CR/LF characters to be embedded in data fields. The base 64 conversion functions provided in the external C library do not insert CR/LF pairs, nor can they decode output that contains embedded CR/LF pairs.

I2A2 C Support

The I2A2 external C library contains functions for base 64 encoding and decoding.

Perl Support

Perl modules that handle base 64 are available via the Comprehensive Perl Archive Network.

Feedback | Contact Purdue
Maintained by: IAMO Team

Purdue University, West Lafayette, IN 47907, (765) 494-4600
© 2010 - 2013 Purdue University | An equal access/equal opportunity university | Copyright Complaints
If you have trouble accessing this page because of a disability, please contact the CSC at or (765) 494-4000.