问题描述
C++ string 怎么保存二进制数据 不会截断目前了解到的 有 unsigned char std::vector<char>string 目前 保存二进制的方法是用 push_backstring 不太稳定 。string 听说还有其他 方法可以保存二进制数据 望指点。std::vector<char> 用起来 挻不错的 期待 更好更稳定的方法 谢谢.
问题解答
回答1:可以使用 base64 把二进制数据编码成字符串保存。
另外还有std::bitset不过应该不是你想要的。
回答2:std::string保存二进制并不会有什么问题,你一定使用方法不对。
回答3:假设你获取到了一个char *的缓冲区,希望放到string里,那你可以这样:
string str(buf, buflen);
但是,我不知道这样做有什么好处。。
回答4:for binary buffer implementation, refer to the Slice in leveldb: leveldb源码解析Slice类
回答5:谢谢大家 的回答 此问题已经解决了...我用的是 string.append(content,size);