CSharpTest.Net
Safe64Stream Class
Members  Example  See Also  Send Feedback Download Help File
CSharpTest.Net.Library Assembly > CSharpTest.Net.Formatting Namespace : Safe64Stream Class

Glossary Item Box

Provides reading and writing to a stream of base-64 characters while replacing '+' with '-' and '/' with '_' and ommitting padding.

Syntax

Visual Basic (Declaration) 
Public Class Safe64Stream 
   Inherits System.Security.Cryptography.CryptoStream
C# 
public class Safe64Stream : System.Security.Cryptography.CryptoStream 

Example

Library/Library.Test/TestSafe64Encoding.cs

C#Copy Code
byte[] data = new byte[222];
new Random().NextBytes(data);
using (Stream mem = new MemoryStream())
{
    using (Stream io = new Safe64Stream(new NonClosingStream(mem), CryptoStreamMode.Write))
        io.Write(data, 0, data.Length);


    Assert.AreEqual((long)Math.Ceiling((data.Length * 8) / 6d), mem.Position);
    mem.Position = 0;
    string test = new StreamReader(mem).ReadToEnd();
    Assert.AreEqual(Safe64Encoding.EncodeBytes(data), test);
}
VB.NETCopy Code
Dim data As Byte() = New Byte(222) {}
New Random().NextBytes(data)
Using mem As Stream = New MemoryStream()
    Using io As Stream = New Safe64Stream(New NonClosingStream(mem), CryptoStreamMode.Write)
        io.Write(data, 0, data.Length)
    End Using


    Assert.AreEqual(DirectCast(Math.Ceiling((data.Length * 8) / 6.0), Long), mem.Position)
    mem.Position = 0
    Dim test As String = New StreamReader(mem).ReadToEnd()
    Assert.AreEqual(Safe64Encoding.EncodeBytes(data), test)
End Using

Inheritance Hierarchy

System.Object
   System.MarshalByRefObject
      System.IO.Stream
         System.Security.Cryptography.CryptoStream
            CSharpTest.Net.Formatting.Safe64Stream

Requirements

Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7

See Also

Generated with Document! X 2011 by Innovasys