c++ - leveldb 中的整数值

标签 c++ python integer leveldb

我想使用 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/

相关文章:

c++ - 当向其传递错误条件时,While 循环无法退出

c# - 在C#中调整图像大小并将其发送到OpenCV会导致图像失真

c++ - 为什么看起来像将int分配给int *时此分配是正确的?

java - 如何在 Java 中实现无穷大?

Java在我的文本文件中放入随机符号而不是整数

c++ - 与自定义命名空间的链接失败未解析的外部符号

python - SSH OverTheWire 脚本

python - aws 命令行有效但无法获得等效的 boto

python - 使用 scipy.integrate.odeint 求解 odes 系统(不断变化!)?

c++ - 表示 2000 位或更多位的整数