Stream byte[] String的转换

///-------MemoryStream byte[] String的转换--------------------------

MemoryStream stream = new MemoryStream();
byte[] buff = stream.ToArray();// new byte[stream.Length];
stream.Read(buff, 0, buff.Length);// 从当前流中读取字节块并将数据写入 buffer 中。
stream.Write(buff, 0, buff.Length); //使用从缓冲区读取的数据将字节块写入当前流。
string strdate = Encoding.UTF8.GetString(buff);


//---------转成 Base64String可放入HttpWebRequest中传输以string的形式存在----------------
fName="文本.txt" 内容:hello
FileStream fs = File.OpenRead(fName)
string ReqStr = Convert.ToBase64String(data, 0, data.Length)="aGVsbG8="
byte[] bytes = Encoding.UTF8.GetBytes(ReqStr);
Stream reqstream = request.GetRequestStream();
reqstream.Write(bytes, 0, bytes.Length);

//服务端接收转换
System.Text.UTF8Encoding.Default.GetString(Convert.FromBase64String(FileContextStr))="hello"

//二进制序列化,转成流,可写入到HttpWebRequest的GetRequestStream中传输,但不能以string的形式存在------------------------
//服务端收到后要反序列化
objct data
stream = SerializeBinary(data);
Stream reqstream = request.GetRequestStream();
stream.WriteTo(reqstream, );

#region Binary Serializers
public static 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 static 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

posted on 2016-05-09 09:16  zsfwh  阅读(178)  评论(0)    收藏  举报