System.Text.UTF7Encoding Class

Assembly: Mscorlib.dll
Namespace: System.Text
Summary
Represents a UTF-7 encoding of Unicode characters.
C# Syntax:
[Serializable]
public class UTF7Encoding : Encoding
Remarks
This class encodes Unicode characters using UCS Transformation Format, 7-bit form (UTF-7). This encoding supports all Unicode character values. Surrogate pairs are encoded as two separate surrogate code points.

UTF-7 encoding was originally invented to efficiently transmit Unicode characters through e-mail systems optimized for US-ASCII text messages.

This class contains the UTF7Encoding.GetCharCount method that reports the number of Unicode characters that result from decoding an array of bytes, and the UTF7Encoding.GetChars method that actually decodes an array of bytes. The UTF7Encoding.GetByteCount method reports the number of bytes that result from encoding arrays of Unicode characters, and the UTF7Encoding.GetBytes method actually encodes characters into an array of bytes.

The UTF7Encoding.GetDecoder method obtains an object to convert (decode) UTF-7 encoded bytes into Unicode characters, whereas the UTF7Encoding.GetEncoder method obtains an object to convert (encode) Unicode characters into UTF-7 encoded bytes.

This class inherits from the Encoding class.

See also:
System.Text Namespace | Decoder | Encoder

System.Text.UTF7Encoding Member List:

Public Constructors
ctor #1 Overloaded:
.ctor()

Default constructor. This constructor is called by derived class constructors to initialize state in this type.
Initializes a new instance of the UTF7Encoding class.
ctor #2 Overloaded:
.ctor(bool allowOptionals)

Initializes a new instance of the UTF7Encoding class, and specifies whether optional characters are allowed in an encoding.
Public Properties
BodyName
(inherited from System.Text.Encoding)
Read-only

See base class member description: System.Text.Encoding.BodyName


Gets the name for this encoding that can be used with mail agent body tags.
CodePage
(inherited from System.Text.Encoding)
Read-only

See base class member description: System.Text.Encoding.CodePage


When overridden in a derived class, gets the code page identifier of this encoding.
EncodingName
(inherited from System.Text.Encoding)
Read-only

See base class member description: System.Text.Encoding.EncodingName


Gets the human-readable description of the encoding.
HeaderName
(inherited from System.Text.Encoding)
Read-only

See base class member description: System.Text.Encoding.HeaderName


Gets the name for this encoding that can be used with mail agent header tags.
IsBrowserDisplay
(inherited from System.Text.Encoding)
Read-only

See base class member description: System.Text.Encoding.IsBrowserDisplay


Gets an indication whether this encoding can be used for display by browser clients.
IsBrowserSave
(inherited from System.Text.Encoding)
Read-only

See base class member description: System.Text.Encoding.IsBrowserSave


Gets an indication whether this encoding can be used for saving by browser clients.
IsMailNewsDisplay
(inherited from System.Text.Encoding)
Read-only

See base class member description: System.Text.Encoding.IsMailNewsDisplay


Gets and indication whether this encoding can be used for display by mail and news clients.
IsMailNewsSave
(inherited from System.Text.Encoding)
Read-only

See base class member description: System.Text.Encoding.IsMailNewsSave


Gets an indication whether this encoding can be used for saving by mail and news clients.
WebName
(inherited from System.Text.Encoding)
Read-only

See base class member description: System.Text.Encoding.WebName


Gets the name registered with the Internet Assigned Numbers Authority (IANA) for this encoding.
WindowsCodePage
(inherited from System.Text.Encoding)
Read-only

See base class member description: System.Text.Encoding.WindowsCodePage


Gets the Windows operating system code page that most closely corresponds to this encoding.
Public Methods
Equals
(inherited from System.Text.Encoding)
See base class member description: System.Text.Encoding.Equals


Determines whether the current instance and the specified Object represent the same type and value.
GetByteCount
(inherited from System.Text.Encoding)
Overloaded:
GetByteCount(char[] chars)

See base class member description: System.Text.Encoding.GetByteCount


Calculates the number of bytes required to encode a specified character array.
GetByteCount
(inherited from System.Text.Encoding)
Overloaded:
GetByteCount(string s)

See base class member description: System.Text.Encoding.GetByteCount


Calculates the number of bytes required to encode the specified String.
GetByteCount Overloaded:
GetByteCount(char[] chars, int index, int count)

Overridden:
Calculates the number of bytes required to store the results of encoding a range of characters from a specified Unicode character array.
GetBytes
(inherited from System.Text.Encoding)
Overloaded:
GetBytes(char[] chars)

See base class member description: System.Text.Encoding.GetBytes


Encodes a specified character array into a byte array.
GetBytes
(inherited from System.Text.Encoding)
Overloaded:
GetBytes(string s)

See base class member description: System.Text.Encoding.GetBytes


Encodes a specified String into an array of bytes.
GetBytes
(inherited from System.Text.Encoding)
Overloaded:
GetBytes(char[] chars, int index, int count)

See base class member description: System.Text.Encoding.GetBytes


Encodes a range of characters from a character array into a byte array.
GetBytes Overloaded:
GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex)

Overridden:
Encodes a specified range of elements from a Unicode character array, and stores the results in a specified range of elements in a byte array.
GetBytes
(inherited from System.Text.Encoding)
Overloaded:
GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex)

See base class member description: System.Text.Encoding.GetBytes


Encodes the specified range of a String into the specified range of a byte array.
GetCharCount
(inherited from System.Text.Encoding)
Overloaded:
GetCharCount(byte[] bytes)

See base class member description: System.Text.Encoding.GetCharCount


Calculates the number of characters produced by decoding an array of bytes.
GetCharCount Overloaded:
GetCharCount(byte[] bytes, int index, int count)

Overridden:
Calculates the number of characters that would result from decoding a specified range of elements in a byte array.
GetChars
(inherited from System.Text.Encoding)
Overloaded:
GetChars(byte[] bytes)

See base class member description: System.Text.Encoding.GetChars


Decodes a byte array into an array of characters.
GetChars
(inherited from System.Text.Encoding)
Overloaded:
GetChars(byte[] bytes, int index, int count)

See base class member description: System.Text.Encoding.GetChars


Decodes a range of bytes from a byte array into a character array.
GetChars Overloaded:
GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex)

Overridden:
Decodes a range of elements from a specified byte array, and stores them in a specified range of elements in a Unicode character array.
GetDecoder Overridden:
Obtains a decoder that can convert a UTF-7 encoded sequence of bytes into a sequence of characters.
GetEncoder Overridden:
Obtains an encoder that can convert a sequence of characters into a UTF-7 encoded sequence of bytes.
GetHashCode
(inherited from System.Text.Encoding)
See base class member description: System.Text.Encoding.GetHashCode


Returns the hash code for this instance.
GetMaxByteCount Overridden:
Calculates the maximum number of bytes required to encode a specified number of characters.
GetMaxCharCount Overridden:
Calculates the maximum number of characters that can result from decoding a specified number of bytes.
GetPreamble
(inherited from System.Text.Encoding)
See base class member description: System.Text.Encoding.GetPreamble


Returns a set of bytes used at the beginning of a stream to determine which encoding a file was created with. This can include the Unicode byte order mark.
GetString
(inherited from System.Text.Encoding)
Overloaded:
GetString(byte[] bytes)

See base class member description: System.Text.Encoding.GetString


Returns a string containing the decoded representation of the specified byte array.
GetString
(inherited from System.Text.Encoding)
Overloaded:
GetString(byte[] bytes, int index, int count)

See base class member description: System.Text.Encoding.GetString


Returns a string containing the decoded representation of a range of bytes in a byte array.
GetType
(inherited from System.Object)
See base class member description: System.Object.GetType

Derived from System.Object, the primary base class for all objects.
ToString
(inherited from System.Object)
See base class member description: System.Object.ToString

Derived from System.Object, the primary base class for all objects.
Protected Methods
Finalize
(inherited from System.Object)
See base class member description: System.Object.Finalize

Derived from System.Object, the primary base class for all objects.
MemberwiseClone
(inherited from System.Object)
See base class member description: System.Object.MemberwiseClone

Derived from System.Object, the primary base class for all objects.

Hierarchy:


System.Text.UTF7Encoding Member Details

Overloaded ctor #1
Summary
Initializes a new instance of the UTF7Encoding class.

Default constructor. This constructor is called by derived class constructors to initialize state in this type.
C# Syntax:
public UTF7Encoding();
Remarks
By default, this constructor does not request optional characters be allowed in an encoding.

Return to top


Overloaded ctor #2
Summary
Initializes a new instance of the UTF7Encoding class, and specifies whether optional characters are allowed in an encoding.
C# Syntax:
public UTF7Encoding(
   bool allowOptionals
);
Parameters:

allowOptionals

If true, optional characters are allowed in an encoding; otherwise, optional characters are not allowed.

Remarks
When allowOptionals is true, Unicode code points are encoded with a corresponding optional character instead of a modified base 64 character.

The optional characters are exclamation point ('!'), backward slash ('\'), virgule ('|'), double quote ('"'), sharp sign ('#'), dollar sign ('$'), percent sign ('%'), ampersand ('&'), asterisk ('*'), semicolon (';'), left angle bracket ('<'), right angle bracket ('>'), left curly bracket ('{'), right curly bracket ('}'), left square bracket ('['), right square bracket (']'), equal sign ('= '), at sign ('@'), circumflex ('^'), underscore ('_'), and grave accent ('`').

Return to top


Property: BodyName (read-only)
Inherited
See base class member description: System.Text.Encoding.BodyName

Summary
Gets the name for this encoding that can be used with mail agent body tags.
C# Syntax:
public virtual string BodyName {get;}
Remarks
For example, if this encoding is equivalent to UTF8Encoding, this property returns "utf-8".

If the encoding cannot be used, the property value is the empty string ("").

Return to top


Property: CodePage (read-only)
Inherited
See base class member description: System.Text.Encoding.CodePage

Summary
When overridden in a derived class, gets the code page identifier of this encoding.
C# Syntax:
public virtual int CodePage {get;}
Remarks
This property must be implemented or overridden.
See also:
Encoding.#ctor

Return to top


Property: EncodingName (read-only)
Inherited
See base class member description: System.Text.Encoding.EncodingName

Summary
Gets the human-readable description of the encoding.
C# Syntax:
public virtual string EncodingName {get;}
Remarks
An example of an Encoding.EncodingName is Hebrew (DOS) for code page 862.

Return to top


Property: HeaderName (read-only)
Inherited
See base class member description: System.Text.Encoding.HeaderName

Summary
Gets the name for this encoding that can be used with mail agent header tags.
C# Syntax:
public virtual string HeaderName {get;}
Remarks
For example, if this encoding is equivalent to UTF8Encoding, this property returns "utf-8".

If the encoding cannot be used, the string is empty.

Return to top


Property: IsBrowserDisplay (read-only)
Inherited
See base class member description: System.Text.Encoding.IsBrowserDisplay

Summary
Gets an indication whether this encoding can be used for display by browser clients.
C# Syntax:
public virtual bool IsBrowserDisplay {get;}
Remarks
For example, this property returns true for code page 1252 (windows-1252), but false for code page 437 (IBM-437).

Return to top


Property: IsBrowserSave (read-only)
Inherited
See base class member description: System.Text.Encoding.IsBrowserSave

Summary
Gets an indication whether this encoding can be used for saving by browser clients.
C# Syntax:
public virtual bool IsBrowserSave {get;}
Remarks
For example, this property returns true for code page 1252 (windows-1252), but false for code page 437 (IBM-437).

Return to top


Property: IsMailNewsDisplay (read-only)
Inherited
See base class member description: System.Text.Encoding.IsMailNewsDisplay

Summary
Gets and indication whether this encoding can be used for display by mail and news clients.
C# Syntax:
public virtual bool IsMailNewsDisplay {get;}
Remarks
For example, this property returns true for code page 1252 (windows-1252), but false for code page 437 (IBM-437).

Return to top


Property: IsMailNewsSave (read-only)
Inherited
See base class member description: System.Text.Encoding.IsMailNewsSave

Summary
Gets an indication whether this encoding can be used for saving by mail and news clients.
C# Syntax:
public virtual bool IsMailNewsSave {get;}
Remarks
For example, this property returns true for code page 1252 (windows-1252), but false for code page 437 (IBM-437).

Return to top


Property: WebName (read-only)
Inherited
See base class member description: System.Text.Encoding.WebName

Summary
Gets the name registered with the Internet Assigned Numbers Authority (IANA) for this encoding.
C# Syntax:
public virtual string WebName {get;}

Return to top


Property: WindowsCodePage (read-only)
Inherited
See base class member description: System.Text.Encoding.WindowsCodePage

Summary
Gets the Windows operating system code page that most closely corresponds to this encoding.
C# Syntax:
public virtual int WindowsCodePage {get;}

Return to top


Method: Equals(
   object value
)
Inherited
See base class member description: System.Text.Encoding.Equals

Summary
Determines whether the current instance and the specified Object represent the same type and value.
C# Syntax:
public override bool Equals(
   object value
);
Parameters:

value

The Object to compare to the current instance.

Return Value:
true if value represents the same type and value as the current instance; otherwise, false.false if value is null or is not an instance of Encoding.

Return to top


Method: Finalize()
Inherited
See base class member description: System.Object.Finalize
C# Syntax:
~UTF7Encoding();

For more information on members inherited from System.Object click on the link above.

Return to top


Overloaded Method: GetByteCount(
   char[] chars
)
Inherited
See base class member description: System.Text.Encoding.GetByteCount

Summary
Calculates the number of bytes required to encode a specified character array.
C# Syntax:
public virtual int GetByteCount(
   char[] chars
);
Parameters:

chars

The character array to encode.

Return Value:
The number of bytes needed to encode chars.
Exceptions
Exception Type Condition
ArgumentNullException chars is null.
Remarks
Encoding.GetByteCount can be used to determine the exact the number of bytes that will be produced from encoding the given array of characters. An appropriately sized buffer for that conversion can then be allocated.

Alternatively, Encoding.GetMaxByteCount can be used to determine the maximum number of bytes that will be produced from converting a given number of characters. A buffer of that size can then be reused for multiple conversions.

The Encoding.GetByteCount method generally uses less memory, whereas the Encoding.GetMaxByteCount method generally executes faster.

Return to top


Overloaded Method: GetByteCount(
   string s
)
Inherited
See base class member description: System.Text.Encoding.GetByteCount

Summary
Calculates the number of bytes required to encode the specified String.
C# Syntax:
public virtual int GetByteCount(
   string s
);
Parameters:

s

The String to encode.

Return Value:
The number of bytes required to encode s.
Remarks
Encoding.GetByteCount can be used to determine the exact the number of bytes that will be produced from encoding the given String. An appropriately sized buffer for that conversion can then be allocated.

Alternatively, Encoding.GetMaxByteCount can be used to determine the maximum number of bytes that will be produced from converting a given String. A buffer of that size can then be reused for multiple conversions.

The Encoding.GetByteCount method generally uses less memory, whereas the Encoding.GetMaxByteCount method generally executes faster.

Return to top


Overloaded Method: GetByteCount(
   char[] chars,
   int index,
   int count
)
Summary
Calculates the number of bytes required to store the results of encoding a range of characters from a specified Unicode character array.
C# Syntax:
public override int GetByteCount(
   char[] chars,
   int index,
   int count
);
Parameters:

chars

The Unicode character array to encode.

index

The index of the first character in chars to encode.

count

The number of characters to encode.

Return Value:
The number of bytes required to encode a range of characters in chars.
Exceptions
Exception Type Condition
ArgumentException Return value is greater than Int32.MaxValue.

-or-

chars contains an invalid Unicode surrogate pair.

ArgumentNullException chars is null.
ArgumentOutOfRangeException index or count is less than zero.

-or-

index plus count is greater than the length of chars.

Remarks
Use UTF7Encoding.GetByteCount to calculate exactly, or UTF7Encoding.GetMaxByteCount to calculate at most, the array size required by the UTF7Encoding.GetBytes method to store encoded characters.

Return to top


Overloaded Method: GetBytes(
   char[] chars
)
Inherited
See base class member description: System.Text.Encoding.GetBytes

Summary
Encodes a specified character array into a byte array.
C# Syntax:
public virtual byte[] GetBytes(
   char[] chars
);
Parameters:

chars

The character array to encode.

Return Value:
A byte array containing the encoded representation of chars.
Exceptions
Exception Type Condition
ArgumentNullException chars is null.
See also:
Encoding.GetByteCount | Encoding.GetMaxByteCount | Encoding.GetDecoder | Encoding.GetEncoder

Return to top


Overloaded Method: GetBytes(
   string s
)
Inherited
See base class member description: System.Text.Encoding.GetBytes

Summary
Encodes a specified String into an array of bytes.
C# Syntax:
public virtual byte[] GetBytes(
   string s
);
Parameters:

s

The String to encode.

Return Value:
A byte array containing the encoded representation of the specified string.
Exceptions
Exception Type Condition
ArgumentNullException s is null.
Remarks
The Encoding.GetBytes method maintains no state between conversions. The method is intended for conversion of a complete block of characters in one operation.
See also:
Encoding.GetByteCount | Encoding.GetMaxByteCount | Encoding.GetDecoder | Encoding.GetEncoder

Return to top


Overloaded Method: GetBytes(
   char[] chars,
   int index,
   int count
)
Inherited
See base class member description: System.Text.Encoding.GetBytes

Summary
Encodes a range of characters from a character array into a byte array.
C# Syntax:
public virtual byte[] GetBytes(
   char[] chars,
   int index,
   int count
);
Parameters:

chars

The character array to encode.

index

The starting index of the character array to encode.

count

The number of characters to encode.

Return Value:
A byte array containing the encoded representation of the specified range of characters in chars.
Exceptions
Exception Type Condition
ArgumentNullException chars is null.
ArgumentOutOfRangeException The index and count parameters do not denote a valid range in chars.
See also:
Encoding.GetByteCount | Encoding.GetMaxByteCount | Encoding.GetDecoder | Encoding.GetEncoder

Return to top


Overloaded Method: GetBytes(
   char[] chars,
   int charIndex,
   int charCount,
   byte[] bytes,
   int byteIndex
)
Summary
Encodes a specified range of elements from a Unicode character array, and stores the results in a specified range of elements in a byte array.
C# Syntax:
public override int GetBytes(
   char[] chars,
   int charIndex,
   int charCount,
   byte[] bytes,
   int byteIndex
);
Parameters:

chars

The character array to encode.

charIndex

The index of the first character in chars to encode.

charCount

The number of characters to encode.

bytes

The byte array where the encoded results are stored.

byteIndex

The index of the first character in bytes where the encoded results are stored.

Return Value:
The number of bytes stored in bytes.
Exceptions
Exception Type Condition
ArgumentNullException The chars or bytes parameter is null.
ArgumentOutOfRangeException The charIndex, charCount, or byteIndex parameter is less than zero.

-or-

The sum of charIndex and charCount is greater than the length of chars.

-or-

byteIndex is greater than the length of bytes.

ArgumentException byteIndex is equal to the length of bytes.

-or-

No bytes have been stored in bytes.

-or-

An invalid high or low member of a surrogate pair was encountered during encoding.

Remarks
Use UTF7Encoding.GetByteCount to calculate exactly, or UTF7Encoding.GetMaxByteCount to calculate at most, the array size required by the UTF7Encoding.GetBytes method to store encoded characters.
See also:
UTF7Encoding.GetByteCount | UTF7Encoding.GetMaxByteCount

Return to top


Overloaded Method: GetBytes(
   string s,
   int charIndex,
   int charCount,
   byte[] bytes,
   int byteIndex
)
Inherited
See base class member description: System.Text.Encoding.GetBytes

Summary
Encodes the specified range of a String into the specified range of a byte array.
C# Syntax:
public virtual int GetBytes(
   string s,
   int charIndex,
   int charCount,
   byte[] bytes,
   int byteIndex
);
Parameters:

s

A String to encode.

charIndex

The first index of s from which to encode.

charCount

The number of characters of s to encode.

bytes

The byte array to encode into.

byteIndex

The first index of bytes to encode into.

Return Value:
The number of encoded bytes in array bytes.
Exceptions
Exception Type Condition
ArgumentNullException s or bytes is null.
ArgumentOutOfRangeException charIndex, charCount, or byteIndex is less than zero.

-or-

charIndex and charCount do not specify a valid range in s (that is, (charIndex + charCount) is greater than the length of s).

-or-

byteIndex and charCount do not specify a valid range in bytes (that is, (byteIndex + charCount) is greater than the length of bytes).

Return to top


Overloaded Method: GetCharCount(
   byte[] bytes
)
Inherited
See base class member description: System.Text.Encoding.GetCharCount

Summary
Calculates the number of characters produced by decoding an array of bytes.
C# Syntax:
public virtual int GetCharCount(
   byte[] bytes
);
Parameters:

bytes

The byte array to decode.

Return Value:
The number of characters produced by decoding the specified byte array.
Exceptions
Exception Type Condition
ArgumentNullException bytes is null.
Remarks
The Encoding.GetCharCount method can be used to determine the exact the number of characters that will be produced from converting a given range of bytes. An appropriately sized buffer for that conversion can then be allocated.

Alternatively, the Encoding.GetMaxCharCount method can be used to determine the maximum number of characters that will produced for a given number of bytes. A buffer of that size can then be reused for multiple conversions.

The Encoding.GetCharCount method generally uses less memory, whereas the Encoding.GetMaxCharCount method generally executes faster.

Return to top


Overloaded Method: GetCharCount(
   byte[] bytes,
   int index,
   int count
)
Summary
Calculates the number of characters that would result from decoding a specified range of elements in a byte array.
C# Syntax:
public override int GetCharCount(
   byte[] bytes,
   int index,
   int count
);
Parameters:

bytes

The byte array to decode.

index

The index of the first byte in bytes to decode.

count

The number of bytes to decode.

Return Value:
The number of characters that would result from decoding the specified range of elements in bytes.
Exceptions
Exception Type Condition
ArgumentNullException bytes is null.
ArgumentOutOfRangeException index and count do not denote a valid range in bytes.
Remarks
Use UTF7Encoding.GetCharCount to calculate exactly, or UTF7Encoding.GetMaxCharCount to calculate at most, the array size required by the UTF7Encoding.GetChars method to store decoded bytes.

Return to top


Overloaded Method: GetChars(
   byte[] bytes
)
Inherited
See base class member description: System.Text.Encoding.GetChars

Summary
Decodes a byte array into an array of characters.
C# Syntax:
public virtual char[] GetChars(
   byte[] bytes
);
Parameters:

bytes

The byte array to decode.

Return Value:
A character array containing the decoded character representation from array bytes.
Exceptions
Exception Type Condition
ArgumentNullException bytes is null.
Remarks
Encoding.GetChars assumes that the byte array contains all the bytes necessary to produce whole characters. If your bytes might be in multiple byte arrays (that is, the bytes corresponding to a single character might be at the end of one byte array and the beginning of another), use the Decoder class, which maintains state between multiple calls.
See also:
Encoding.GetCharCount | Encoding.GetMaxCharCount

Return to top


Overloaded Method: GetChars(
   byte[] bytes,
   int index,
   int count
)
Inherited
See base class member description: System.Text.Encoding.GetChars

Summary
Decodes a range of bytes from a byte array into a character array.
C# Syntax:
public virtual char[] GetChars(
   byte[] bytes,
   int index,
   int count
);
Parameters:

bytes

The byte array to decode.

index

The starting index of the byte array to decode.

count

The number of bytes to decode.

Return Value:
A character array containing the decoded character representation from a range of array bytes.
Exceptions
Exception Type Condition
ArgumentNullException bytes is null.
ArgumentOutOfRangeException index and count do not denote a valid range in the byte array.
Remarks
Encoding.GetChars assumes that the byte array contains all the bytes necessary to produce whole characters. If your bytes might be in multiple byte arrays (that is, the bytes corresponding to a single character might be at the end of one byte array and the beginning of another), use the Decoder class, which maintains state between multiple calls.
See also:
Encoding.GetCharCount | Encoding.GetMaxCharCount

Return to top


Overloaded Method: GetChars(
   byte[] bytes,
   int byteIndex,
   int byteCount,
   char[] chars,
   int charIndex
)
Summary
Decodes a range of elements from a specified byte array, and stores them in a specified range of elements in a Unicode character array.
C# Syntax:
public override int GetChars(
   byte[] bytes,
   int byteIndex,
   int byteCount,
   char[] chars,
   int charIndex
);
Parameters:

bytes

The byte array to decode.

byteIndex

The index of the first element in bytes to decode.

byteCount

The number of elements to decode.

chars

The character array where the decoded results are stored.

charIndex

The index of the first element in chars to store decoded results.

Return Value:
The number of characters stored in chars.
Exceptions
Exception Type Condition
ArgumentNullException bytes or chars is null.
ArgumentOutOfRangeException byteIndex, byteCount, or charIndex is less than zero.

-or-

byteIndex plus byteCount is greater than the length of bytes.

-or-

charIndex is greater than the length of chars.

ArgumentException bytes contains an invalid sequence of bytes, and the UTF7Encoding.#ctor constructor for this instance specified throwing an exception when invalid bytes are detected.
Remarks
Use UTF7Encoding.GetCharCount to calculate exactly, or UTF7Encoding.GetMaxCharCount to calculate at most, the array size required by the UTF7Encoding.GetChars method to store decoded bytes.

Unlike UTF8Encoding, UTF7Encoding does not provide error detection. When invalid bytes are encountered, UTF7Encoding generally emits the invalid bytes. If a byte is larger than hexadecimal 0x7F, the byte value is zero-extended into a Unicode character, the result is stored in the chars array, and any shift sequence is terminated. For example, if the byte to encode is hexadecimal 0x81, the result character is U+0081.

See also:
UTF7Encoding.GetCharCount | UTF7Encoding.GetMaxCharCount | Encoding.GetChars

Return to top


Overridden Method: GetDecoder()
Summary
Obtains a decoder that can convert a UTF-7 encoded sequence of bytes into a sequence of characters.
C# Syntax:
public override Decoder GetDecoder();
Return Value:
A Decoder.
Remarks
The UTF7Encoding.GetChars method converts (decodes) adjacent blocks of bytes into adjacent blocks of characters. The UTF7Encoding.GetDecoder method returns a Decoder that maintains state information between calls so it can correctly decode UTF-7 byte sequences that span blocks. The Decoder preserves trailing bytes at the end of the blocks and uses the trailing bytes in the next decoding operation.

UTF7Encoding.GetDecoder and UTF7Encoding.GetEncoder are useful in network transmission and file operations, since those operations often deal with blocks of data instead of a complete stream.

See also:
UTF7Encoding.GetCharCount | UTF7Encoding.GetChars

Return to top


Overridden Method: GetEncoder()
Summary
Obtains an encoder that can convert a sequence of characters into a UTF-7 encoded sequence of bytes.
C# Syntax:
public override Encoder GetEncoder();
Return Value:
An Encoder.
Remarks
The UTF7Encoding.GetBytes method converts (encodes) adjacent blocks of characters into adjacent blocks of bytes. The UTF7Encoding.GetEncoder method returns an Encoder that maintains state information between calls so it can correctly encode characters that span blocks.

UTF7Encoding.GetDecoder and UTF7Encoding.GetEncoder are useful in network transmission and file operations, since those operations often deal with blocks of data instead of a complete stream.

See also:
UTF7Encoding.GetByteCount | UTF7Encoding.GetBytes

Return to top


Method: GetHashCode()
Inherited
See base class member description: System.Text.Encoding.GetHashCode

Summary
Returns the hash code for this instance.
C# Syntax:
public override int GetHashCode();
Return Value:
A 32-bit signed integer hash code.

Return to top


Overridden Method: GetMaxByteCount(
   int charCount
)
Summary
Calculates the maximum number of bytes required to encode a specified number of characters.
C# Syntax:
public override int GetMaxByteCount(
   int charCount
);
Parameters:

charCount

The number of characters to encode.

Return Value:
The maximum number of bytes required to encode charCount number of characters.
Exceptions
Exception Type Condition
ArgumentOutOfRangeException charCount is less than zero.

-or-

Return value is greater than Int32.MaxValue.

Remarks
Use UTF7Encoding.GetByteCount to calculate exactly, or UTF7Encoding.GetMaxByteCount to calculate at most, the array size required by the UTF7Encoding.GetBytes method to store encoded characters.
See also:
UTF7Encoding.GetBytes | Encoder.GetBytes

Return to top


Overridden Method: GetMaxCharCount(
   int byteCount
)
Summary
Calculates the maximum number of characters that can result from decoding a specified number of bytes.
C# Syntax:
public override int GetMaxCharCount(
   int byteCount
);
Parameters:

byteCount

The number of bytes to decode.

Return Value:
The maximum number of characters that can result from decoding byteCount number of bytes.
Remarks
Use UTF7Encoding.GetCharCount to calculate exactly, or UTF7Encoding.GetMaxCharCount to calculate at most, the array size required by the UTF7Encoding.GetChars method to store decoded bytes.
See also:
UTF7Encoding.GetChars | Decoder.GetChars

Return to top


Method: GetPreamble()
Inherited
See base class member description: System.Text.Encoding.GetPreamble

Summary
Returns a set of bytes used at the beginning of a stream to determine which encoding a file was created with. This can include the Unicode byte order mark.
C# Syntax:
public virtual byte[] GetPreamble();
Return Value:
The bytes at the beginning of a stream, which typically comprise the byte order mark.
Remarks
The preamble can be the Unicode byte order mark (U+FEFF written in the appropriate encoding) or any other type of identifying marks. This method can return an empty byte array.

Return to top


Overloaded Method: GetString(
   byte[] bytes
)
Inherited
See base class member description: System.Text.Encoding.GetString

Summary
Returns a string containing the decoded representation of the specified byte array.
C# Syntax:
public virtual string GetString(
   byte[] bytes
);
Parameters:

bytes

The byte array to decode.

Return Value:
A string containing the decoded representation of the specified byte array.
Exceptions
Exception Type Condition
ArgumentNullException The bytes parameter is null.
Remarks
Encoding.GetString assumes that the byte array contains all the bytes necessary to produce whole characters. If your bytes might be in multiple byte arrays (that is, the bytes corresponding to a single character might be at the end of one byte array and the beginning of another), use the Decoder class, which will maintain state between multiple calls.
Example
The following code example demonstrates how to read a UTF8 encoded string from binary file.
    private string ReadAuthor(Stream binary_file) {
      System.Text.Encoding encoding = System.Text.Encoding.UTF8;
      // Read string from binary file with UTF8 encoding
      byte[] buffer = new byte[30];
      binary_file.Read(buffer, 0, 30);
      return encoding.GetString(buffer);
    }

    

Return to top


Overloaded Method: GetString(
   byte[] bytes,
   int index,
   int count
)
Inherited
See base class member description: System.Text.Encoding.GetString

Summary
Returns a string containing the decoded representation of a range of bytes in a byte array.
C# Syntax:
public virtual string GetString(
   byte[] bytes,
   int index,
   int count
);
Parameters:

bytes

The byte array to decode.

index

The starting index of the byte array to decode.

count

The number of bytes to decode.

Return Value:
A string containing the decoded representation of a range of bytes in the specified byte array.
Exceptions
Exception Type Condition
ArgumentNullException The bytes parameter is null.
ArgumentOutOfRangeException The index and count parameters do not denote a valid range in the byte array.
Remarks
Encoding.GetString assumes that the byte array contains all the bytes necessary to produce whole characters. If your bytes might be in multiple byte arrays (that is, the bytes corresponding to a single character might be at the end of one byte array and the beginning of another), use the Decoder class, which will maintain state between multiple calls.
Example
The following code example demonstrates how to read a UTF8 encoded string from binary file.
    private string ReadAuthor(Stream binary_file) {
      System.Text.Encoding encoding = System.Text.Encoding.UTF8;
      // Read string from binary file with UTF8 encoding
      byte[] buffer = new byte[30];
      binary_file.Read(buffer, 0, 30);
      return encoding.GetString(buffer);
    }

    

Return to top


Method: GetType()
Inherited
See base class member description: System.Object.GetType
C# Syntax:
public Type GetType();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: MemberwiseClone()
Inherited
See base class member description: System.Object.MemberwiseClone
C# Syntax:
protected object MemberwiseClone();

For more information on members inherited from System.Object click on the link above.

Return to top


Method: ToString()
Inherited
See base class member description: System.Object.ToString
C# Syntax:
public virtual string ToString();

For more information on members inherited from System.Object click on the link above.

Return to top


Top of page

Copyright (c) 2002 Microsoft Corporation. All rights reserved.