Csharp/C Sharp/File Stream/UTF8 UTF16
Версия от 18:31, 26 мая 2010; (обсуждение)
Convert UTF-8 and ASCII encoded bytes back to UTF-16 encoded string
<source lang="csharp"> using System; using System.IO; using System.Text; class Test {
public static void Main() { using (StreamWriter output = new StreamWriter("practice.txt")) { // Create and write a string containing the symbol for Pi. string srcString = "Area = \u03A0r^2"; // Convert the UTF-16 encoded source string to UTF-8 and ASCII. byte[] utf8String = Encoding.UTF8.GetBytes(srcString); byte[] asciiString = Encoding.ASCII.GetBytes(srcString); // Write the UTF-8 and ASCII encoded byte arrays. output.WriteLine("UTF-8 Bytes: {0}", BitConverter.ToString(utf8String)); output.WriteLine("ASCII Bytes: {0}", BitConverter.ToString(asciiString)); // Convert UTF-8 and ASCII encoded bytes back to UTF-16 encoded // string and write. output.WriteLine("UTF-8 Text : {0}", Encoding.UTF8.GetString(utf8String)); output.WriteLine("ASCII Text : {0}", Encoding.ASCII.GetString(asciiString)); Console.WriteLine(Encoding.UTF8.GetString(utf8String)); Console.WriteLine(Encoding.ASCII.GetString(asciiString)); } }
}
</source>
UTF8 decoder
<source lang="csharp"> using System; using System.IO; using System.Text; class Class1{
static void Main(string[] args) { byte[] byData = new byte[100]; char[] charData = new Char[100]; try { FileStream aFile = new FileStream("practice.txt",FileMode.Open); aFile.Seek(55,SeekOrigin.Begin); aFile.Read(byData,0,100); } catch(IOException e) { Console.WriteLine("An IO exception has been thrown!"); Console.WriteLine(e.ToString()); Console.ReadLine(); return; } Decoder d = Encoding.UTF8.GetDecoder(); d.GetChars(byData, 0, byData.Length, charData, 0); Console.WriteLine(charData); return; }
}
</source>