结构体序列化和反序列化,麻烦各位大佬帮忙啊

请实现一下结构体报文的序列化和反序列化函数
序列化:将结构体的数据放在一段尽可能小的内存中,
反序列化:根据序列化的情况,将内存中的数据解析到结构体中

struct A

bool b1;
std::string str;
bool b2;
char[2] chars;
};

有专门的框架:http://www.cnblogs.com/relvin/p/5540063.html

用Json或者Protobuf