UTF7Encoding Class
Represents a UTF-7 encoding of Unicode characters.
Namespace: System.Text
Assembly: mscorlib (in mscorlib.dll)
The UTF7Encoding type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() | UTF7Encoding() | Initializes a new instance of the UTF7Encoding class. |
![]() ![]() | UTF7Encoding(Boolean) | Initializes a new instance of the UTF7Encoding class. A parameter specifies whether to allow optional characters. |
| Name | Description | |
|---|---|---|
![]() | BodyName | When overridden in a derived class, gets a name for the current encoding that can be used with mail agent body tags. (Inherited from Encoding.) |
![]() ![]() | CodePage | When overridden in a derived class, gets the code page identifier of the current Encoding. (Inherited from Encoding.) |
![]() | DecoderFallback | Gets or sets the DecoderFallback object for the current Encoding object. (Inherited from Encoding.) |
![]() | EncoderFallback | Gets or sets the EncoderFallback object for the current Encoding object. (Inherited from Encoding.) |
![]() | EncodingName | When overridden in a derived class, gets the human-readable description of the current encoding. (Inherited from Encoding.) |
![]() | HeaderName | When overridden in a derived class, gets a name for the current encoding that can be used with mail agent header tags. (Inherited from Encoding.) |
![]() | IsBrowserDisplay | When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for displaying content. (Inherited from Encoding.) |
![]() | IsBrowserSave | When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for saving content. (Inherited from Encoding.) |
![]() | IsMailNewsDisplay | When overridden in a derived class, gets a value indicating whether the current encoding can be used by mail and news clients for displaying content. (Inherited from Encoding.) |
![]() | IsMailNewsSave | When overridden in a derived class, gets a value indicating whether the current encoding can be used by mail and news clients for saving content. (Inherited from Encoding.) |
![]() | IsReadOnly | When overridden in a derived class, gets a value indicating whether the current encoding is read-only. (Inherited from Encoding.) |
![]() | IsSingleByte | When overridden in a derived class, gets a value indicating whether the current encoding uses single-byte code points. (Inherited from Encoding.) |
![]() ![]() | WebName | When overridden in a derived class, gets the name registered with the Internet Assigned Numbers Authority (IANA) for the current encoding. (Inherited from Encoding.) |
![]() | WindowsCodePage | When overridden in a derived class, gets the Windows operating system code page that most closely corresponds to the current encoding. (Inherited from Encoding.) |
| Name | Description | |
|---|---|---|
![]() ![]() | Clone | When overridden in a derived class, creates a shallow copy of the current Encoding object. (Inherited from Encoding.) |
![]() ![]() | Equals | Gets a value indicating whether the specified object is equal to the current UTF7Encoding object. (Overrides Encoding.Equals(Object).) |
![]() ![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() ![]() | GetByteCount(Char[]) | When overridden in a derived class, calculates the number of bytes produced by encoding all the characters in the specified character array. (Inherited from Encoding.) |
![]() ![]() | GetByteCount(String) | Calculates the number of bytes produced by encoding the characters in the specified String object. (Overrides Encoding.GetByteCount(String).) In XNA Framework 3.0, this member is inherited from Encoding.GetByteCount(String). |
![]() | GetByteCount(Char*, Int32) | Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer. (Overrides Encoding.GetByteCount(Char*, Int32).) |
![]() ![]() | GetByteCount(Char[], Int32, Int32) | Calculates the number of bytes produced by encoding a set of characters from the specified character array. (Overrides Encoding.GetByteCount(Char[], Int32, Int32).) |
![]() ![]() | GetBytes(Char[]) | When overridden in a derived class, encodes all the characters in the specified character array into a sequence of bytes. (Inherited from Encoding.) |
![]() ![]() | GetBytes(String) | When overridden in a derived class, encodes all the characters in the specified string into a sequence of bytes. (Inherited from Encoding.) |
![]() ![]() | GetBytes(Char[], Int32, Int32) | When overridden in a derived class, encodes a set of characters from the specified character array into a sequence of bytes. (Inherited from Encoding.) |
![]() | GetBytes(Char*, Int32, Byte*, Int32) | Encodes a set of characters starting at the specified character pointer into a sequence of bytes that are stored starting at the specified byte pointer. (Overrides Encoding.GetBytes(Char*, Int32, Byte*, Int32).) |
![]() ![]() | GetBytes(Char[], Int32, Int32, Byte[], Int32) | Encodes a set of characters from the specified character array into the specified byte array. (Overrides Encoding.GetBytes(Char[], Int32, Int32, Byte[], Int32).) |
![]() ![]() | GetBytes(String, Int32, Int32, Byte[], Int32) | Encodes a set of characters from the specified String into the specified byte array. (Overrides Encoding.GetBytes(String, Int32, Int32, Byte[], Int32).) In XNA Framework 3.0, this member is inherited from Encoding.GetBytes(String, Int32, Int32, Byte[], Int32). |
![]() ![]() | GetCharCount(Byte[]) | When overridden in a derived class, calculates the number of characters produced by decoding all the bytes in the specified byte array. (Inherited from Encoding.) |
![]() | GetCharCount(Byte*, Int32) | Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer. (Overrides Encoding.GetCharCount(Byte*, Int32).) |
![]() ![]() | GetCharCount(Byte[], Int32, Int32) | Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. (Overrides Encoding.GetCharCount(Byte[], Int32, Int32).) |
![]() ![]() | GetChars(Byte[]) | When overridden in a derived class, decodes all the bytes in the specified byte array into a set of characters. (Inherited from Encoding.) |
![]() ![]() | GetChars(Byte[], Int32, Int32) | When overridden in a derived class, decodes a sequence of bytes from the specified byte array into a set of characters. (Inherited from Encoding.) |
![]() | GetChars(Byte*, Int32, Char*, Int32) | Decodes a sequence of bytes starting at the specified byte pointer into a set of characters that are stored starting at the specified character pointer. (Overrides Encoding.GetChars(Byte*, Int32, Char*, Int32).) |
![]() ![]() | GetChars(Byte[], Int32, Int32, Char[], Int32) | Decodes a sequence of bytes from the specified byte array into the specified character array. (Overrides Encoding.GetChars(Byte[], Int32, Int32, Char[], Int32).) |
![]() ![]() | GetDecoder | Obtains a decoder that converts a UTF-7 encoded sequence of bytes into a sequence of Unicode characters. (Overrides Encoding.GetDecoder().) |
![]() ![]() | GetEncoder | Obtains an encoder that converts a sequence of Unicode characters into a UTF-7 encoded sequence of bytes. (Overrides Encoding.GetEncoder().) |
![]() ![]() | GetHashCode | Returns the hash code for the current UTF7Encoding object. (Overrides Encoding.GetHashCode().) |
![]() ![]() | GetMaxByteCount | Calculates the maximum number of bytes produced by encoding the specified number of characters. (Overrides Encoding.GetMaxByteCount(Int32).) |
![]() ![]() | GetMaxCharCount | Calculates the maximum number of characters produced by decoding the specified number of bytes. (Overrides Encoding.GetMaxCharCount(Int32).) |
![]() ![]() | GetPreamble | When overridden in a derived class, returns a sequence of bytes that specifies the encoding used. (Inherited from Encoding.) |
![]() | GetString(Byte[]) | When overridden in a derived class, decodes all the bytes in the specified byte array into a string. (Inherited from Encoding.) |
![]() ![]() | GetString(Byte[], Int32, Int32) | Decodes a range of bytes from a byte array into a string. (Overrides Encoding.GetString(Byte[], Int32, Int32).) In XNA Framework 3.0, this member is inherited from Encoding.GetString(Byte[], Int32, Int32). |
![]() ![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | IsAlwaysNormalized() | Gets a value indicating whether the current encoding is always normalized, using the default normalization form. (Inherited from Encoding.) |
![]() | IsAlwaysNormalized(NormalizationForm) | When overridden in a derived class, gets a value indicating whether the current encoding is always normalized, using the specified normalization form. (Inherited from Encoding.) |
![]() ![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() ![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
Encoding is the process of transforming a set of Unicode characters into a sequence of bytes. Decoding is the process of transforming a sequence of encoded bytes into a set of Unicode characters.
The UTF-7 encoding represents Unicode characters as sequences of 7-bit ASCII characters. This encoding supports certain protocols for which it is required, most often e-mail or newsgroup protocols. Since UTF-7 is not particularly secure or robust, and most modern systems allow 8-bit encodings, UTF-8 should normally be preferred to UTF-7.
Note |
|---|
UTF7Encoding does not provide error detection. For security reasons, the application should use UTF8Encoding, UnicodeEncoding, or UTF32Encoding and enable error detection. |
For more information about the UTFs and other encodings supported by System.Text, see Character Encoding in the .NET Framework.
The GetByteCount method determines how many bytes result in encoding a set of Unicode characters, and the GetBytes method performs the actual encoding.
Likewise, the GetCharCount method determines how many characters result in decoding a sequence of bytes, and the GetChars and GetString methods perform the actual decoding.
UTF7Encoding corresponds to the Windows code page 65000.
Note |
|---|
The state of a UTF-7 encoded object is not preserved if the object is serialized and deserialized using different .NET Framework versions. |
The following code example demonstrates how to use a UTF7Encoding to encode a string of Unicode characters and store them in a byte array. Notice that when the byte array is decoded back to a string, no data is lost.
using System; using System.Text; class UTF7EncodingExample { public static void Main() { // Create a UTF-7 encoding. UTF7Encoding utf7 = new UTF7Encoding(); // A Unicode string with two characters outside a 7-bit code range. String unicodeString = "This Unicode string contains two characters " + "with codes outside a 7-bit code range, " + "Pi (\u03a0) and Sigma (\u03a3)."; Console.WriteLine("Original string:"); Console.WriteLine(unicodeString); // Encode the string. Byte[] encodedBytes = utf7.GetBytes(unicodeString); Console.WriteLine(); Console.WriteLine("Encoded bytes:"); foreach (Byte b in encodedBytes) { Console.Write("[{0}]", b); } Console.WriteLine(); // Decode bytes back to string. // Notice Pi and Sigma characters are still present. String decodedString = utf7.GetString(encodedBytes); Console.WriteLine(); Console.WriteLine("Decoded bytes:"); Console.WriteLine(decodedString); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
