我想使用 leveldb 在 c++ 和 python 中有效地存储整数和整数数组。
对于 C++ 中的整数,我可以将 int 转换为 char 数组。对于在 C++ 中存储 int 数组以及在 python 中存储 int 和 int 数组有什么建议吗?
最佳答案
您可以考虑使用像 Google 的 protobuf (http://code.google.com/p/protobuf/) 这样的库,它能够(反)序列化结构化数据。对于您提到的情况,重复的字段可以解决问题:
message List {
repeated int64 val = 1;
}
鉴于 Protocol Buffer 使用的 varint 编码(并取决于您的值范围),这可能是一种存储整数的有效方法。
http://code.google.com/apis/protocolbuffers/docs/encoding.html#varints
如果不进一步了解您的用例,就很难说更多。每个数组平均要存储多少个整数?整数值的范围是多少?等等
关于c++ - leveldb 中的整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8438340/