什么是在区间[1,10 ^ 12]中编码/解码整数的快速有效方法?

时间:2013-11-26 22:25:28

标签: javascript indexing integer decode encode

我需要能够在客户端快速解码大索引(整数,甚至大小超过10 ^ 12)并且还希望它们在我存储在服务器端的文件中以适当的压缩率进行编码。你有什么建议?也许十六进制?

1 个答案:

答案 0 :(得分:0)

“最佳”编码取决于空间/速度约束和期望值的分布。 如果你选择最小尺寸并且有很多小数字,你可以使用可变长度编码such as the SQLite uses

当然,所有“最佳”编码的大小和速度都是二进制数据,但是你在问题中提到的“十六进制”让我怀疑你必须将数字存储为文本,那种情况十六进制是常见的,并且足够小以满足许多需求(10 ^ 12只有40位,因此它将是十六进制的10个字符),但如果空间很重要,最好使用base64或类似的编码。