我写了一个简单Person
类具有以下成员:编码C中的的std :: string ++
std::string _fname;
std::string _lname;
int _age;
我打算与一个vector<Person> _contacts
作为成员变量以后写AddressBook
类。现在,我决定我将序列化AddressBook
将写在文件中的每个联系人的编码版本,该文件将以二进制模式打开。这将主要是我将在后面分析字符串得到的值,沿着这些线路的地方:"John~Doe~42"
我想然而这串编码,因为如果我的Person
类获取许多新成员变量,该字符串变得相当长。我希望它可以编码为十六进制表示,但它似乎不太可能,所以我需要问,是否还有其他方法可以对std::string
进行编码,以使它不被人类破译,如果不是紧凑的?
很可能[Boost.Serialization](http://www.boost.org/doc/libs/1_49_0/libs/serialization/doc/index.html)和[Boost.Iostreams](http://www.boost .org/doc/libs/1_49_0/libs/iostreams/doc/index.html)最好看一下。 – 2012-03-21 05:07:26