用C#编一段代码,产生一个二进制文件,内容为“程序员大本营”,产生的二进制文件不能用系统带的
编辑器编辑,即不能用文本编辑器打开看到真实内容。

解决方案 »

  1.   

    string s = "程序员大本营";
                FileStream fs = new FileStream(@"d:\a.txt", FileMode.Create);
                BinaryWriter br = new BinaryWriter(fs);
                br.Write(s);
                br.Close();
                fs.Close();
      

  2.   

    加个解码器:
                string s = "程序员大本营";
                FileStream fs = new FileStream(@"d:\a.txt", FileMode.Create);
                BinaryWriter br = new BinaryWriter(fs,Encoding.Unicode);
                br.Write(s);
                br.Close();
                fs.Close();
      

  3.   

    用DES算法把文件加密了,文件名后缀仍然为.txt不就行了
      

  4.   

    楼上的代码可以用notepad打开的
                //写入
                string s = "程序员大本营";
                byte[] buf = System.Text.Encoding.GetEncoding(936).GetBytes(s.ToCharArray());
                for (int i = 0; i < buf.Length; i++)
                { 
                    buf[i]= (byte)(~buf[i]);
                    //Console.WriteLine(i.ToString());
                }            //读取
                FileStream fs = new FileStream(@"d:\a.txt", FileMode.Create);
                fs.Write(buf, 0, (int)buf.Length);
                fs.Close();
                */            byte[] buf = new byte[50];
                FileStream fs = new FileStream(@"d:\a.txt", FileMode.Open);
                fs.Read(buf, 0, (int)fs.Length);
                for (int i = 0; i < fs.Length; i++)
                {
                    buf[i] = (byte)(~buf[i]);
                }
                Console.WriteLine(System.Text.Encoding.GetEncoding(936).GetString(buf));
      

  5.   

    错了
                /*
                //写入
                string s = "程序员大本营";
                byte[] buf = System.Text.Encoding.GetEncoding(936).GetBytes(s.ToCharArray());
              //  Console.WriteLine(System.Text.Encoding.GetEncoding(936).GetString(buf));
               
                for (int i = 0; i < buf.Length; i++)
                { 
                    buf[i]= (byte)(~buf[i]);
                    //Console.WriteLine(i.ToString());
                }            FileStream fs = new FileStream(@"d:\a.txt", FileMode.Create);
                fs.Write(buf, 0, (int)buf.Length);
                fs.Close();
                */            //读取
                byte[] buf = new byte[50];
                FileStream fs = new FileStream(@"d:\a.txt", FileMode.Open);
                fs.Read(buf, 0, (int)fs.Length);
                for (int i = 0; i < fs.Length; i++)
                {
                    buf[i] = (byte)(~buf[i]);
                }
                Console.WriteLine(System.Text.Encoding.GetEncoding(936).GetString(buf));