Encoding.GetEncoding Method
Returns the encoding associated with the specified name.
Namespace: System.Text
Assembly: mscorlib (in mscorlib.dll)
Parameters
- name
- Type: System.String
The name of the preferred encoding.
| Exception | Condition |
|---|---|
| ArgumentException | name is not the name of a valid encoding. |
The following table lists valid values for the name parameter. Except for "utf-16LE", they correspond to the strings returned by each encoding's WebName property.
Name | Encoding |
|---|---|
utf-8 | |
utf-16 | UnicodeEncoding (little-endian) |
utf-16BE | UnicodeEncoding (big-endian) |
utf-16LE | UnicodeEncoding (little-endian) |
The name parameter is not case-sensitive. For example, the method returns a UnicodeEncoding object if name is either "utf-16" or 'UTF-16".
GetEncoding returns a cached instance with default settings. To get an instance with different settings, call the appropriate constructors of derived classes. For example, the UnicodeEncoding class provides a constructor that allows enabling of error detection.
Platform Notes
Silverlight for Windows Phone
The following example instantiates several encoding objects, including two that are returned by the GetEncoding method. It then checks them for equality.
using System; using System.Text; public class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { // Get a UTF-16 encoding. Encoding e16_1 = Encoding.GetEncoding("utf-16"); // Instantiate a second UTF-16 encoding. Encoding e16_2 = new UnicodeEncoding(); // Instantiate a Unicode little endian encoding. Encoding le = new UnicodeEncoding(false, true); // Instantiate a Unicode big endian encoding. Encoding be = new UnicodeEncoding(true, true); // Get a UTF-8 encoding by name. Encoding e8 = Encoding.GetEncoding("utf-8"); // Check equality of e16_1 and e16_2. outputBlock.Text += String.Format("{0} equals {1}? {2}\n", e16_1.WebName, e16_2.WebName, e16_1.Equals(e16_2)); // Check equality of e16_1 and unicode little endian encoding. outputBlock.Text += String.Format("{0} equals {1}? {2}\n", e16_1.WebName, le.WebName, e16_1.Equals(le)); // Check equality of e16_1 and unicode bug endian encoding. outputBlock.Text += String.Format("{0} equals {1}? {2}\n", e16_1.WebName, be.WebName, e16_1.Equals(be)); // Check equality of e16_1 and e8. outputBlock.Text += String.Format("{0} equals {1}? {2}\n", e16_1.WebName, e8.WebName, e16_1.Equals(e8)); } } /* This example produces the following output: utf-16 equals utf-16? True utf-16 equals utf-16? True utf-16 equals utf16BE? False utf-16 equals utf8? False */
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.