base64.net

Is there a Base64Stream for .NET?


If I want to produce a Base64-encoded output, how would I do that in .NET?

I know that since .NET 2.0, there is the ICryptoTransform interface, and the ToBase64Transform() and FromBase64Transform() implementations of that interface.

But those classes are embedded into the System.Security namespace, and require the use of a TransformBlock, TransformFinalBlock, and so on.

Is there an easier way to base64 encode a stream of data in .NET?


Solution

  • If you want a stream that converts to Base64, you can put a ToBase64Transform into a CryptoStream:

    new CryptoStream(stream, new ToBase64Transform(), CryptoStreamMode.Write)
    

    If you just want to convert a single byte array to Base64, you can simply call Convert.ToBase64String(bytes).

    In both cases, you can replace the word To with From.