ToBase64Transform Class
Converts a CryptoStream to base 64.
Assembly: mscorlib (in mscorlib.dll)
| Name | Description | |
|---|---|---|
![]() | ToBase64Transform() | Initializes a new instance of the ToBase64Transform class. |
| Name | Description | |
|---|---|---|
![]() | CanReuseTransform | Gets a value indicating whether the current transform can be reused. |
![]() | CanTransformMultipleBlocks | Gets a value that indicates whether multiple blocks can be transformed. |
![]() | InputBlockSize | Gets the input block size. |
![]() | OutputBlockSize | Gets the output block size. |
| Name | Description | |
|---|---|---|
![]() | Clear() | Releases all resources used by the ToBase64Transform. |
![]() | Dispose() | Releases all resources used by the current instance of the ToBase64Transform class. |
![]() | Dispose(Boolean) | Releases the unmanaged resources used by the ToBase64Transform and optionally releases the managed resources. |
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Releases the unmanaged resources used by the ToBase64Transform.(Overrides Object::Finalize().) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
![]() | TransformBlock(array<Byte>^, Int32, Int32, array<Byte>^, Int32) | Converts the specified region of the input byte array to base 64 and copies the result to the specified region of the output byte array. |
![]() | TransformFinalBlock(array<Byte>^, Int32, Int32) | Converts the specified region of the specified byte array to base 64. |
Base 64 Content-Transfer-Encoding represents arbitrary bit sequences in a form that is not human readable.
The following code example demonstrates how to use members of the ToBase64Transform class.
using namespace System; using namespace System::IO; using namespace System::Security::Cryptography; ref class Members { public: [STAThread] static void Main() { String^ appPath = (String::Concat( System::IO::Directory::GetCurrentDirectory(), L"\\" )); // Insert your file names into this method call. EncodeFromFile( String::Concat( appPath, L"members.cpp" ), String::Concat( appPath, L"members.enc" ) ); Console::WriteLine( L"This sample completed successfully; " L"press Enter to exit." ); Console::ReadLine(); } private: // Read in the specified source file and write out an encoded target file. static void EncodeFromFile( String^ sourceFile, String^ targetFile ) { // Verify members.cpp exists at the specified directory. if ( !File::Exists( sourceFile ) ) { Console::Write( L"Unable to locate source file located at " ); Console::WriteLine( L"{0}.", sourceFile ); Console::Write( L"Please correct the path and run the " ); Console::WriteLine( L"sample again." ); return; } // Retrieve the input and output file streams. FileStream^ inputFileStream = gcnew FileStream( sourceFile,FileMode::Open,FileAccess::Read ); FileStream^ outputFileStream = gcnew FileStream( targetFile,FileMode::Create,FileAccess::Write ); // Create a new ToBase64Transform object to convert to base 64. ToBase64Transform^ base64Transform = gcnew ToBase64Transform; // Create a new byte array with the size of the output block size. array<Byte>^outputBytes = gcnew array<Byte>( base64Transform->OutputBlockSize); // Retrieve the file contents into a byte array. array<Byte>^inputBytes = gcnew array<Byte>(inputFileStream->Length); inputFileStream->Read( inputBytes, 0, inputBytes->Length ); // Verify that multiple blocks can not be transformed. if ( !base64Transform->CanTransformMultipleBlocks ) { // Initializie the offset size. int inputOffset = 0; // Iterate through inputBytes transforming by blockSize. int inputBlockSize = base64Transform->InputBlockSize; while ( inputBytes->Length - inputOffset > inputBlockSize ) { base64Transform->TransformBlock( inputBytes, inputOffset, inputBytes->Length - inputOffset, outputBytes, 0 ); inputOffset += base64Transform->InputBlockSize; outputFileStream->Write( outputBytes, 0, base64Transform->OutputBlockSize ); } // Transform the final block of data. outputBytes = base64Transform->TransformFinalBlock( inputBytes, inputOffset, inputBytes->Length - inputOffset ); outputFileStream->Write( outputBytes, 0, outputBytes->Length ); Console::WriteLine( L"Created encoded file at {0}", targetFile ); } // Determine if the current transform can be reused. if ( !base64Transform->CanReuseTransform ) { // Free up any used resources. base64Transform->Clear(); } // Close file streams. inputFileStream->Close(); outputFileStream->Close(); } }; int main() { Members::Main(); } // // This sample produces the following output: // // Created encoded file at C:\ConsoleApplication1\\membersvcs.enc // This sample completed successfully; press Enter to exit.
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


