Convert To Base 64 String
using System; using System.Collections; public static class HTTPUtility { #region Base64 // Adapted from example at: http://en.wikibooks.org/wiki/Algorithm_Implementation/Miscellaneous/Base64#Java public static string ConvertToBase64String(byte[] inArray) { // Base 64 character set const string base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; // Result and padding strings string r = string.Empty; string p = string.Empty; // Zero pad the array if necessary int c = inArray.Length % 3; if (c > 0) { int addedChars = 3 - c; p = new string('=', addedChars); byte[] newArray = new byte[inArray.Length + addedChars]; inArray.CopyTo(newArray, 0); inArray = newArray; } // Convert the input array for (int i = 0; i < inArray.Length; i += 3) { // Add a newline character if necessary if (i > 0 && (i / 3 * 4) % 76 == 0) r += "\r\n"; // Three bytes become one 24-bit number int n = (inArray[i] << 16) + (inArray[i + 1] << 8) + (inArray[i + 2]); // 24-bit number gets split into four 6-bit numbers int n1 = (n >> 18) & 63; int n2 = (n >> 12) & 63; int n3 = (n >> 6) & 63; int n4 = n & 63; // Use the four 6-bit numbers as indices for the base64 character list r = string.Concat(r, base64Chars[n1], base64Chars[n2], base64Chars[n3], base64Chars[n4]); } return r.Substring(0, r.Length - p.Length) + p; } #endregion }