UTF7Encoding Class
Represents a UTF-7 encoding of Unicode characters.
Assembly: mscorlib (in mscorlib.dll)
| 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 | |
![]() | 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() | |
![]() | Equals(Object^) | 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*, 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(array<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(array<Char>^, Int32, Int32) | Calculates the number of bytes produced by encoding a set of characters from the specified character array.(Overrides Encoding::GetByteCount(array<Char>^, Int32, Int32).) |
![]() | GetByteCount(String^) | Calculates the number of bytes produced by encoding the characters in the specified String object.(Overrides Encoding::GetByteCount(String^).) |
![]() | 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(array<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(array<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(array<Char>^, Int32, Int32, array<Byte>^, Int32) | Encodes a set of characters from the specified character array into the specified byte array.(Overrides Encoding::GetBytes(array<Char>^, Int32, Int32, array<Byte>^, Int32).) |
![]() | 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(String^, Int32, Int32, array<Byte>^, Int32) | Encodes a set of characters from the specified String into the specified byte array.(Overrides Encoding::GetBytes(String^, Int32, Int32, array<Byte>^, Int32).) |
![]() | 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(array<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(array<Byte>^, Int32, Int32) | Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.(Overrides Encoding::GetCharCount(array<Byte>^, Int32, Int32).) |
![]() | 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(array<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(array<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(array<Byte>^, Int32, Int32, array<Char>^, Int32) | Decodes a sequence of bytes from the specified byte array into the specified character array.(Overrides Encoding::GetChars(array<Byte>^, Int32, Int32, array<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(Int32) | Calculates the maximum number of bytes produced by encoding the specified number of characters.(Overrides Encoding::GetMaxByteCount(Int32).) |
![]() | GetMaxCharCount(Int32) | 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*, Int32) | When overridden in a derived class, decodes a specified number of bytes starting at a specified address into a string. (Inherited from Encoding.) |
![]() | GetString(array<Byte>^) | When overridden in a derived class, decodes all the bytes in the specified byte array into a string.(Inherited from Encoding.) |
![]() | GetString(array<Byte>^, Int32, Int32) | Decodes a range of bytes from a byte array into a string.(Overrides Encoding::GetString(array<Byte>^, Int32, Int32).) |
![]() | GetType() | |
![]() | 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() | |
![]() | 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 namespace System; using namespace System::Text; using namespace System::Collections; int main() { // Create a UTF-7 encoding. UTF7Encoding^ utf7 = gcnew UTF7Encoding; // A Unicode string with two characters outside a 7-bit code range. String^ unicodeString = L"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. array<Byte>^encodedBytes = utf7->GetBytes( unicodeString ); Console::WriteLine(); Console::WriteLine( "Encoded bytes:" ); IEnumerator^ myEnum = encodedBytes->GetEnumerator(); while ( myEnum->MoveNext() ) { Byte b = safe_cast<Byte>(myEnum->Current); 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 ); }
Available since 10
.NET Framework
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



