Namespace: System.Text
To read a file, an application must write information about
the encoding in which the file was written. So, the application that creates a
file must write encoding information, otherwise viewer will see block and
question marks in file.
Unicode UTF-32 encoding:
Represents a character as sequence of four bytes (32 bits).
UTF32Encoding class can be used in that perspective.
Unicode UTF-16 encoding:
Represents a character in 16 bits. UnicodeEncoding class can
be used to convert to and from UTF-16 encoding.
Unicode UTF-8 encoding:
Unicode UTF-8 uses 8-bit, 16-bit, 24-bit, and up to 48-bit
encoding. Values 0 through 127 use 8-bit encoding and exactly match ASCII
values, 128 through 2047 use 16-bit encoding, and values from 2048 and 65535
uses 24-bit encoding. UTF8Encoding class can be used to convert to and from
UTF-8 encoding.
ASCII encoding:
ASCII encoding encodes Latin alphabets as single 7-Bit ASCII
character. It is not well suited for internationalized applications.
ASCIIEncoding class can be used to convert to and from ASCII encoding.
ANSI/ISO Encoding:
System.Text.Encoding provides support for a wide range of
ANSI/ISO encodings.
Using Encoding class:
GetEncoding will return the
specified encoding then GetByte or GetChar methods can be used.
Encoding e =
Encoding.GetEncoding(“Korean”);
Byte[] encoded;
encoded = e.GetBytes(“Hello word!”);
for(int i=0;i<encoded.length;i++)
{
Console.WriteLine(“Byte
{0}:{1}”, i,encoded[i]);
}
Supported Encoding Types:
To get a list of supported Encoding one can iterate the
EncodingInfo struct returned by Encoding.GetEncodings().
EncodingInfo[] eis =
Encoding.GetEncodings();
foreach( EncodingInfo ei in eis)
Console.WriteLine(“{0}:{1}
, {2}” , ei.CodePage, ei.Name, ei.DisplayName);
To Specify Encoding type when writing Files:
StreamWrite sw = new
StreamWrite(“SampleUTF.txt”, false, Encoding.UTF32);
Sw.WriteLine(“Hello Word!”);
Sw.close();
To Specify Encoding When Reading Files:
StreamReader sr = new
StreamReader(“SampleUTF.txt”, false, Encoding.UTF32);
Console.WriteLine(“Output is : {0}”,
sr.ReadLine());
Sr.Close();
Comments