Encoding class from System.Text is the base type for classes that encapsulate text encodings.
The following code creates Encoding from encoding string.
Encoding utf8 = Encoding.GetEncoding ("utf-8"); Encoding chinese = Encoding.GetEncoding ("GB18030");
The most common encodings can also be obtained through dedicated static properties on Encoding:
Encoding name | Static property on Encoding |
---|---|
UTF-8 | Encoding.UTF8 |
UTF-16 | Encoding.Unicode (not UTF16) |
UTF-32 | Encoding.UTF32 |
ASCII | Encoding.ASCII |
static GetEncodings method returns a list of all supported encodings, with their standard IANA names:
using System; using System.Text; class MainClass/*from ww w .jav a2 s.c om*/ { public static void Main(string[] args) { foreach (EncodingInfo info in Encoding.GetEncodings()) Console.WriteLine(info.Name); } }
The following writes "Testing..." to a file called data.txt in UTF-16 encoding:
using System; using System.Text; class MainClass// ww w. j a va 2s . co m { public static void Main(string[] args) { System.IO.File.WriteAllText("data.txt", "testing", Encoding.Unicode); } }
If you omit the final argument, WriteAllText applies the ubiquitous UTF-8 encoding.
UTF-8 is the default text encoding for all file and stream I/O.