Calculates the maximum number of characters that can result from decoding a specified number of bytes.
Syntax
| Visual Basic (Usage) | Copy Code |
|---|
Dim instance As ImapUTF7Encoding
Dim byteCount As Integer
Dim value As Integer
value = instance.GetMaxCharCount(byteCount) |
| Managed Extensions for C++ | |
|---|
public: int GetMaxCharCount(
int byteCount
) override |
Parameters
- byteCount
- The number of bytes to decode.
Return Value
The maximum number of characters that can result from decoding
byteCount number of bytes.
Example
The following example demonstrates encoding/decoding data using the ImapUTF7Encoding class.
| Visual Basic | Copy Code |
|---|
Private Sub ImapUTF7Test()
' Create Unicode character array
' ChrW(35) = #
' ChrW(37) = %
' ChrW(928) = Pi
' ChrW(931) = Sigma
Dim chars() As Char = {ChrW(35), ChrW(37), ChrW(928), ChrW(931)}
' Initialize ImapUTF7 encoder
Dim ImapUTF7 As New ImapUTF7Encoding()
' Determine how big target byte array needs to be
Dim Count As Integer = ImapUTF7.GetByteCount(chars, 0, chars.Length)
' You could also use the following to get the maximum size
' Dim Count As Integer = ImapUTF7.GetMaxByteCount(chars.Length)
Debug.WriteLine(Count & " bytes needed to encode characters.")
' Initialize target byte array
Dim Bytes(Count - 1) As Byte
' Encode data
Count = ImapUTF7.GetBytes(chars, 0, chars.Length, bytes, 0)
Debug.WriteLine(Count & " bytes encoded.")
' Show encoded bytes
Dim B As Byte
For Each B In Bytes
Debug.WriteLine(B)
Next
' Now to decode...first determine how big target char array needs to be
Count = ImapUTF7.GetCharCount(Bytes, 0, Bytes.Length)
' You could also use the following to get the maximum size
' Count = ImapUTF7.GetMaxCharCount(Bytes.Length)
Debug.WriteLine(Count & " characters needed to decode bytes.")
' Initialize target char array
ReDim chars(Count - 1)
' Decode data
Count = ImapUTF7.GetChars(Bytes, 0, Bytes.Length, chars, 0)
Debug.WriteLine(Count & " bytes decoded.")
' Show decoded characters
Dim C As Char
For Each C In chars
Debug.WriteLine(C)
Next
End Sub |
| C# | Copy Code |
|---|
private void ImapUTF7Test()
{
// Create Unicode character array
char[] chars = {
'\u0023', // #
'\u0025', // %
'\u03a0', // Pi
'\u03a3' // Sigma
};
// Initialize ImapUTF7 encoder
ImapUTF7Encoding ImapUTF7 = new ImapUTF7Encoding();
// Determine how big target byte array needs to be
int count = ImapUTF7.GetByteCount(chars, 0, chars.Length);
// You could also use the following to get the maximum size
// int count = ImapUTF7.GetMaxByteCount(chars.Length);
Debug.WriteLine(count + " bytes needed to encode characters.");
// Initialize target byte array
byte[] bytes = new byte[count];
// Encode data
count = ImapUTF7.GetBytes(chars, 0, chars.Length, bytes, 0);
Debug.WriteLine(count + " bytes encoded.");
// Show encoded bytes
foreach(byte b in bytes)
Debug.WriteLine(b);
// Now to decode...first determine how big target char array needs to be
count = ImapUTF7.GetCharCount(bytes, 0, bytes.Length);
// You could also use the following to get the maximum size
// count = ImapUTF7.GetMaxCharCount(bytes.Length);
Debug.WriteLine(count + " characters needed to decode bytes.");
// Initialize target char array
chars = new char[count];
// Decode data
count = ImapUTF7.GetChars(bytes, 0, bytes.Length, chars, 0);
Debug.WriteLine(count + " bytes decoded.");
// Show decoded characters
foreach(char c in chars)
Debug.WriteLine(c);
} |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 2.0
See Also