在实际的项目开发中,很多地方都会应用的二进制数据,比如客户端服务器的通信、用户数据的存储以及一些游戏数据的存储。所以写了此类以方便进行类的序列化和反序列化操作。
此类包含的大小端的设置,如果只是客户端使用,可以忽略。
类名DataStream
使用方法
1.写数据:
DataStream stream = new DataStream(true);
writer.WriteSInt32(1);
writer.WriteString16("abc");
byte[] bdata = data.ToByteArray();
2.读取数据:
byte[] bdata = new byte[10];
DataStream stream = new DataStream(bdata,true);
int i = datastream.ReadSInt32();
string s = datastream.ReadString16();
支持的数据类型:ushort,uint ,ulong,short,int,long,string;
完整代码:
public class DataStream
{
private BinaryReader mBinReader;
private BinaryWriter mBinWriter;
private MemoryStream mMemStream;
private bool mBEMode;//big endian mode
public DataStream(bool isBigEndian)
{
mMemStream = new MemoryStream();
InitWithMemoryStream(mMemStream, isBigEndian);
}
public DataStream(byte[] buffer, bool isBigEndian)
{
mMemStream = new M