用什么方法的储存一串010101最节约空间?

2013-07-12 18:54:15 +08:00
 andybest
字串例如:"0001100101101110011010110010000001111010"

由0与1组成,首位可能为0,长度不定,大于64位

需要一种针对这种字串的压缩方式,可以以最节约空间的方式储存这堆字串

想听听各位的想法和意见,必定感谢! :)


----------------------------------------
我的想法是例如30位一切,前面补个1(防止转为整数时首位0被忽略),作为二进制字串转为十六进制整数,然后用逗号分隔累加出一个新字串
但感觉这个方式挺笨,而且压缩/解压缩的时候并不会很高效
3275 次点击
所在节点    问与答
21 条回复
deanguqiang
2013-07-13 17:50:18 +08:00
@hewwcn 理论上肯定有增益,但是编码前比特序列足够随机足够长的话,可以压缩的水分应该非常小,再考虑到还要存储码本,解码复杂度也高一些,在生产环境中就要考虑其必要性了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/75589

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX