本帖最后由 roaley 于 2011-10-13 18:05:17 编辑

解决方案 »

  1.   

    你先把文本切成2个字符的小字符串,然后用Convert.ToByte(string,16)来得到byte,具体代码不写了,
      

  2.   

    Convert.ToByte转化为16进制数据
    FileStream对象向path路径中写入数据。
      

  3.   

    2字符对应一个byte,用Convert.ToByte转。转出Byte[],直接用File.WriteAllBytes 写为文件。
      

  4.   

    本帖最后由 caozhy 于 2011-10-14 00:23:11 编辑
      

  5.   


    局域网聊天的程序,也是将用户发送的字符串转为二进制后再转回来,你参考一下,注意SerializeBinary和DeSerializeBinary。希望能帮到你:
    using System;
    using System.IO ;namespace MSG
    {
    /// <summary>
    /// ClassSerializers 的摘要说明。
    /// </summary>
    public class ClassSerializers
    {
    public ClassSerializers()
    {
    //
    // TODO: 在此处添加构造函数逻辑
    //
    } #region Binary Serializers
    public   System.IO.MemoryStream SerializeBinary(object request) 
    {
    System.Runtime.Serialization.Formatters.Binary.BinaryFormatter serializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
    System.IO.MemoryStream memStream = new System.IO.MemoryStream();
    serializer.Serialize(memStream, request);
    return memStream;
    } public   object DeSerializeBinary(System.IO.MemoryStream memStream) 
    {
      memStream.Position=0;
      System.Runtime.Serialization.Formatters.Binary.BinaryFormatter deserializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
      object newobj = deserializer.Deserialize(memStream);
      memStream.Close();
      return newobj;
    }
    #endregion #region XML Serializers public   System.IO.MemoryStream SerializeSOAP(object request) 
    {           System.Runtime.Serialization.Formatters.Soap.SoapFormatter serializer = new System.Runtime.Serialization.Formatters.Soap.SoapFormatter();
               System.IO.MemoryStream memStream = new System.IO.MemoryStream();
               serializer.Serialize(memStream, request);
               return memStream;
    } public   object DeSerializeSOAP(System.IO.MemoryStream memStream) 
    {
      object sr;
      System.Runtime.Serialization.Formatters.Soap.SoapFormatter deserializer = new System.Runtime.Serialization.Formatters.Soap.SoapFormatter();
      memStream.Position=0;
      sr = deserializer.Deserialize(memStream);
      memStream.Close();
      return sr;
    } #endregion 
    }
    }   #region 获得要发送的 文本消息 序列化后的字节数据
    private byte[] GetSendString()//获得要发送的序列化字串
    {
                this.SendTextMsg=GetSendTextMsg();
    return ( new MSG.ClassSerializers().SerializeBinary(this.SendTextMsg).ToArray()); 
    }
    #endregion  #region 收到对方发送过来的 文本消息 public void newTextMsg(byte[] content,string title,Font titleFont,Color titleColor)//收到对方发送过来文本消息
    {
    MSG.MyExtRichTextBox  rich =new  MyExtRichTextBox();
     
    MSG.ClassTextMsg textMsg=(new ClassSerializers().DeSerializeBinary(new System.IO.MemoryStream(content)) as ClassTextMsg);
     
    rich.Dispose();
    this.RTBRecord.AppendText(textMsg.MsgContent +"\n");

    } #endregion