我有 492383 个向量。每个向量包含 52 个无符号字符。
当我将它们序列化为文件时,文件大小约为 25 mb。这完美匹配 492383 * 52 字节。
但是我想问一下是否有一种方法可以以更节省空间的方式存储它,而无需 7zip 左右。我的意思是通过编码左右。
我想不是,但我还是想问。
非常感谢。
我有 492383 个向量。每个向量包含 52 个无符号字符。
当我将它们序列化为文件时,文件大小约为 25 mb。这完美匹配 492383 * 52 字节。
但是我想问一下是否有一种方法可以以更节省空间的方式存储它,而无需 7zip 左右。我的意思是通过编码左右。
我想不是,但我还是想问。
非常感谢。
简短的回答:不!
长答案:是的,但编码与使用压缩和类似技术没有什么不同。压缩只是将您的数据编码为一种足够智能的格式,可以识别模式以减小文件的大小。
如果您对使用外部程序进行压缩不满意;只需使用一个可以为您执行此操作的库,例如这个,并将其合并到您的程序中。
A really simple, but fairly efficent, encoding is something called "byte-pair encoding", and it works really well with certain types of data, such as text, because there are usually plenty of "unused bytes" in a sequence.
A BPE encoder/decoder can be implemented in a few dozen lines of code, so compared with a zip
type archive, it is quite small.
Maybe - depends on the nature of the data being stored.
Anyway - why worry over a 25mb of data?