Convert.ToBase64CharArray Method (Byte(), Int32, Int32, Char(), Int32)
Converts a subset of an 8-bit unsigned integer array to an equivalent subset of a Unicode character array encoded with base-64 digits. Parameters specify the subsets as offsets in the input and output arrays, and the number of elements in the input array to convert.
Assembly: mscorlib (in mscorlib.dll)
Public Shared Function ToBase64CharArray ( inArray As Byte(), offsetIn As Integer, length As Integer, outArray As Char(), offsetOut As Integer ) As Integer
Parameters
- inArray
-
Type:
System.Byte()
An input array of 8-bit unsigned integers.
- offsetIn
-
Type:
System.Int32
A position within inArray.
- length
-
Type:
System.Int32
The number of elements of inArray to convert.
- outArray
-
Type:
System.Char()
An output array of Unicode characters.
- offsetOut
-
Type:
System.Int32
A position within outArray.
| Exception | Condition |
|---|---|
| ArgumentNullException | inArray or outArray is null. |
| ArgumentOutOfRangeException | offsetIn, offsetOut, or length is negative. -or- offsetIn plus length is greater than the length of inArray. -or- offsetOut plus the number of elements to return is greater than the length of outArray. |
The subset of length elements of inArray starting at position offsetIn, are taken as a numeric value and converted to a subset of elements in outArray starting at position offsetOut. The return value indicates the number of converted elements in outArray. The subset of outArray consists of base-64 digits.
The base-64 digits in ascending order from zero are the uppercase characters "A" to "Z", the lowercase characters "a" to "z", the numerals "0" to "9", and the symbols "+" and "/". The valueless character, "=", is used for trailing padding.
The offset and length parameters are 32-bit signed numbers. The offsetIn and offsetOut parameters are zero-based array positions.
Important |
|---|
The ToBase64CharArraymethod is designed to process a single byte array that contains all the data to be encoded. To create a base-64 character array from a byte stream, use the System.Security.Cryptography.ToBase64Transform class. |
The following example demonstrates using the ToBase64CharArray method to UUencode (encode in base 64) a binary stream, then save the encoding to a file.
Public Sub EncodeWithCharArray() Dim inFile As System.IO.FileStream Dim binaryData() As Byte Try inFile = New System.IO.FileStream(inputFileName, _ System.IO.FileMode.Open, _ System.IO.FileAccess.Read) ReDim binaryData(inFile.Length) Dim bytesRead As Long = inFile.Read(binaryData, _ 0, _ CInt(inFile.Length)) inFile.Close() Catch exp As System.Exception ' Error creating stream or reading from it. System.Console.WriteLine("{0}", exp.Message) Return End Try ' Convert the binary input into Base64 UUEncoded output. ' Each 3 byte sequence in the source data becomes a 4 byte ' sequence in the character array. Dim arrayLength As Long arrayLength = (4 / 3) * binaryData.Length If arrayLength Mod 4 <> 0 Then arrayLength = arrayLength + 4 - arrayLength Mod 4 End If Dim base64CharArray(arrayLength - 1) As Char Try System.Convert.ToBase64CharArray(binaryData, _ 0, _ binaryData.Length, _ base64CharArray, 0) Catch exp As System.ArgumentNullException System.Console.WriteLine("Binary data array is null.") Return Catch exp As System.ArgumentOutOfRangeException System.Console.WriteLine("Char Array is not large enough.") Return End Try ' Write the UUEncoded version to the output file. Dim outFile As System.IO.StreamWriter Try outFile = New System.IO.StreamWriter(outputFileName, _ False, _ System.Text.Encoding.ASCII) outFile.Write(base64CharArray) outFile.Close() Catch exp As System.Exception ' Error creating stream or writing to it. System.Console.WriteLine("{0}", exp.Message) End Try End Sub
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
