Sample Base 64 Encoding and Decoding (191239)



The information in this article applies to:

  • Microsoft Internet Server Application Programming Interface (API)
  • Microsoft Internet Client SDK 4.01
  • Microsoft Internet Information Server 5.0

This article was previously published under Q191239

SUMMARY

B64_samp.exe is a sample that shows how to programmatically encode and decode Base 64 encoding mechanism. This encoding mechanism was introduced for use with Multipurpose Internet Mail Extensions (MIME). It is the default mechanism used when authenticating in clear text (Basic Authentication) between a Web browser and a Web server.

The sample is in the form of a simple Win32 command line application. Usage is as follows:
Usage:  Base64.exe -[d|e] <message>
           d  :  Decode <message>
           e  :  Encode <message>
				
The sample does not format the encoded text. The RFC specifications for Base 64 requires that each line of the encoded message not be greater than 76 characters. After 76 characters, the message must have a hard line break inserted (that is, carriage return + line feed). Furthermore, the encoded message when fed into a decoder must be padded so that the total number of characters be divisible by 4. The decoder sample included with this file will handle situations where the padding is missing. The encoded message should be padded with an equal sign character (=) at the end. Please refer to section 5.2 of RFC 1521 for more detailed description of the Base 64 Encoding standard.

NOTE: The sample includes the project files for Microsoft Visual C++ 5.0. For other development environments, simply copy over the .cpp/.h files into your own project. Note that the self-extracting executable is a Win32 EXE.

MORE INFORMATION

The following files are available for download from the Microsoft Download Center:
For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.

REFERENCES

RFC 1521 : MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies

Modification Type:MajorLast Reviewed:10/11/2006
Keywords:kbdownload kbFilter kbhttp kbinfo KB191239