这个问题怎么解决的啊.我的代码如下.
            FileStream file = File.Create("D:\\Test.txt");
            StreamWriter sw = new StreamWriter(file, Encoding.GetEncoding("gb2312"));
            Encoding ascii = Encoding.ASCII;
            byte[] bytes = ascii.GetBytes("11哈哈");            sw.Write(ascii.GetString(bytes));
            sw.Close();

解决方案 »

  1.   

    ascii码本来就没有中文,所以当然会有乱码。也无法再转换回来,因为数据已经丢失了。
      

  2.   

    给自己添乱阿,哈哈。byte[] bytes = System.Text.Encoding.GetEncoding("gb2312").GetBytes("11哈哈");
      

  3.   

    FileStream file = File.Create("D:\\Test.txt");
                StreamWriter sw = new StreamWriter(file, Encoding.GetEncoding("gb2312"));//这里已经指定用gb2312了
    //            Encoding ascii = Encoding.ASCII;
    //            byte[] bytes = ascii.GetBytes("11哈哈");这两句不需要            sw.Write("11哈哈");//直接写就行了,你前面已经指定编码了
                sw.Close();
      

  4.   

    但是现在我要写入的数据必须得转换为ascll.而且里面绝对有中文字符
    文本要上传到unix操作系统,改系统只识别ascll,或ansi
      

  5.   

    中文字符是用扩展ASCII码拼的,然后用编码库解释你那个unix操作系统是什么版本的,他支持的汉字编码库是什么