如何在C#中進行編碼轉換,將所有類型的輸入文檔轉換成UNICODE類型.

解决方案 »

  1.   

    好像C#中的String都是Unicode编码类型的吧
      

  2.   

    好像?肯定嗎?難道只要將輸入的文檔轉換成string類型???????
      

  3.   

    string里是unicode编码,  你用c#的入得时候直接会转换进
    ascii编码得是 char[]
    string类有方法可以互相转换城char[]数组
      

  4.   

    用System.IO.StreamReader读文件时,将默认作UTF-8编码转换。
      

  5.   

    string str = "this is test string!这是汉字.";
                Encoding gb = Encoding.GetEncoding("GB18030");
                Encoding un = Encoding.Unicode;
                byte[] gbytes = gb.GetBytes(str);
                byte[] ubytes = un.GetBytes(str);
                Console.WriteLine(gb.GetString(gbytes));
                Console.WriteLine(un.GetString(gbytes));
                Console.WriteLine(un.GetString(ubytes));使用之前,先引用命名空间system.text
      

  6.   

    UnicodeEncoding.Unicode.GetBytes // string to bytes
    UnicodeEncoding.Unicode.GetString // Bytes to string
      

  7.   

    StreamReader,例如:
    StreamReader sr = new StreamReader("TestFile.txt");
      

  8.   

    Thanks for your great help!
      

  9.   

    不多说,例子一个。using System;
    using System.Text;
    using System.IO;namespace 控制台程序
    {
        class Program
        {
            static void Main(string[] args)
            {
                //在C盘的根目录下创建一下名为ABC.txt的文件,并向其中写入字符。
                StreamWriter writer = new StreamWriter(@"C:\ABC.txt");
                writer.WriteLine("This");
                writer.WriteLine("is some text");
                writer.WriteLine("to test");
                writer.WriteLine("Reading");
                writer.Close();
                
                //把ABC.txt的内容读出来储存在StringBuilder sb中,并打印出来。
                StringBuilder sb=new StringBuilder();
                StreamReader reader = File.OpenText(@"C:\ABC.txt");
                do
                {
                    sb.Append(reader.ReadLine()+"\n");
                } while (reader.Peek() >= 0);
                reader.Close();
                Console.WriteLine(sb.ToString());
            }
        }
    }