Mega Code Archive

 
Categories / C# / Development Class
 

Base 64 encode

//http://www.bouncycastle.org/ //MIT X11 License using System; using System.IO; using System.Text; namespace Org.BouncyCastle.Utilities.Encoders {   public sealed class Base64   { //    private static readonly IEncoder encoder = new Base64Encoder();     private Base64()     {     }     /**      * encode the input data producing a base 64 encoded byte array.      *      * @return a byte array containing the base 64 encoded data.      */     public static byte[] Encode(       byte[] data)     {       string s = Convert.ToBase64String(data, 0, data.Length);       return Encoding.ASCII.GetBytes(s); //      MemoryStream bOut = new MemoryStream(); //      encoder.Encode(data, 0, data.Length, bOut); //      return bOut.ToArray();     }     /**      * Encode the byte data to base 64 writing it to the given output stream.      *      * @return the number of bytes produced.      */     public static int Encode(       byte[]  data,       Stream  outStream)     {       string s = Convert.ToBase64String(data, 0, data.Length);       byte[] encoded = Encoding.ASCII.GetBytes(s);       outStream.Write(encoded, 0, encoded.Length);       return encoded.Length; //      return encoder.Encode(data, 0, data.Length, outStream);     }     /**      * Encode the byte data to base 64 writing it to the given output stream.      *      * @return the number of bytes produced.      */     public static int Encode(       byte[]  data,       int    off,       int    length,       Stream  outStream)     {       string s = Convert.ToBase64String(data, off, length);       byte[] encoded = Encoding.ASCII.GetBytes(s);       outStream.Write(encoded, 0, encoded.Length);       return encoded.Length; //      return encoder.Encode(data, off, length, outStream);     }     /**      * decode the base 64 encoded input data. It is assumed the input data is valid.      *      * @return a byte array representing the decoded data.      */     public static byte[] Decode(       byte[] data)     {       string s = Encoding.ASCII.GetString(data, 0, data.Length);       return Convert.FromBase64String(s); //      MemoryStream bOut = new MemoryStream(); //      encoder.Decode(data, 0, data.Length, bOut); //      return bOut.ToArray();     }     /**      * decode the base 64 encoded string data - whitespace will be ignored.      *      * @return a byte array representing the decoded data.      */     public static byte[] Decode(       string data)     {       return Convert.FromBase64String(data); //      MemoryStream bOut = new MemoryStream(); //      encoder.DecodeString(data, bOut); //      return bOut.ToArray();     }     /**      * decode the base 64 encoded string data writing it to the given output stream,      * whitespace characters will be ignored.      *      * @return the number of bytes produced.      */     public static int Decode(       string  data,       Stream  outStream)     {       byte[] decoded = Decode(data);       outStream.Write(decoded, 0, decoded.Length);       return decoded.Length; //      return encoder.DecodeString(data, outStream);     }   } }