[Serializable] |
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.
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. |
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. |
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.GetByteCountCalculates 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.GetByteCountCalculates 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.GetBytesEncodes 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.GetBytesEncodes 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.GetBytesEncodes 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.GetBytesEncodes 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.GetCharCountCalculates 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.GetCharsDecodes 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.GetCharsDecodes 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.GetStringReturns 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.GetStringReturns 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. |
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:
public UTF7Encoding(); |
public UTF7Encoding( |
allowOptionals
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 ('`').
public virtual string BodyName {get;}
|
If the encoding cannot be used, the property value is the empty string ("").
public virtual int CodePage {get;}
|
public virtual string EncodingName {get;}
|
public virtual string HeaderName {get;}
|
If the encoding cannot be used, the string is empty.
public virtual bool IsBrowserDisplay {get;}
|
public virtual bool IsBrowserSave {get;}
|
public virtual bool IsMailNewsDisplay {get;}
|
public virtual bool IsMailNewsSave {get;}
|
public virtual string WebName {get;}
|
public virtual int WindowsCodePage {get;}
|
value
~UTF7Encoding(); |
chars
Exception Type | Condition |
---|---|
ArgumentNullException | chars is null. |
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.
s
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.
chars
index
count
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. |
chars
Exception Type | Condition |
---|---|
ArgumentNullException | chars is null. |
s
Exception Type | Condition |
---|---|
ArgumentNullException | s is null. |
chars
index
count
Exception Type | Condition |
---|---|
ArgumentNullException | chars is null. |
ArgumentOutOfRangeException | The index and count parameters do not denote a valid range in chars. |
public override int GetBytes( |
chars
charIndex
charCount
bytes
byteIndex
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. |
public virtual int GetBytes( |
s
charIndex
charCount
bytes
byteIndex
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). |
bytes
Exception Type | Condition |
---|---|
ArgumentNullException | bytes is null. |
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.
bytes
index
count
Exception Type | Condition |
---|---|
ArgumentNullException | bytes is null. |
ArgumentOutOfRangeException | index and count do not denote a valid range in bytes. |
bytes
Exception Type | Condition |
---|---|
ArgumentNullException | bytes is null. |
bytes
index
count
Exception Type | Condition |
---|---|
ArgumentNullException | bytes is null. |
ArgumentOutOfRangeException | index and count do not denote a valid range in the byte array. |
public override int GetChars( |
bytes
byteIndex
byteCount
chars
charIndex
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. |
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.
public override Decoder GetDecoder(); |
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.
public override Encoder GetEncoder(); |
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.
public override int GetHashCode(); |
charCount
Exception Type | Condition |
---|---|
ArgumentOutOfRangeException | charCount is less than zero. -or- Return value is greater than Int32.MaxValue. |
byteCount
public virtual byte[] GetPreamble(); |
bytes
Exception Type | Condition |
---|---|
ArgumentNullException | The bytes parameter is null. |
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); }
bytes
index
count
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. |
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); }
public Type GetType(); |
protected object MemberwiseClone(); |
public virtual string ToString(); |