求一128字节压缩至20-32字节的算法

fuly_ABC 2013-08-30 02:35:17
最近实现一个数据传输功能的时候,需要将一个128字节的数据压缩至小于或等于32字节。 用了一些常见的算法都不理想,请教大牛有没有这一类的算法,如果是C/C++ 或java的代码更佳 。 100分奉上
...全文
1195 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuly_ABC 2013-09-30
  • 打赏
  • 举报
回复
引用 16 楼 WizardOz 的回复:
为什么一定要压缩?就不能分包传送以后再组包?
好主意 受启发了 因为最终的数据不走网络通讯, 而是通过短信或者填表的方式来传递的。 所以一直追求压缩和编码
WizardOz 2013-09-24
  • 打赏
  • 举报
回复
为什么一定要压缩?就不能分包传送以后再组包?
fuly_ABC 2013-09-23
  • 打赏
  • 举报
回复
引用 10 楼 zerglarva_aahha 的回复:
请楼主提供数据规律,可以尝试预测编码,如果没有特别规律,算算信息熵吧,加上编码表,熵非常小的话也有可能做到。 既没规律,熵又大,或者码表本身就相对大,那洗洗睡吧,哪凉快哪待着吧。
这个还真没有规律,因为是加密后的定长128位的数据. 连我都不知道明文是什么。 为难啊。。。
shenmelong 2013-09-16
  • 打赏
  • 举报
回复
压缩成MD5 正好32字符 解压端使用128位字符串MD5字典表,还原数据 可以满足你的要求
熊熊大叔 2013-09-12
  • 打赏
  • 举报
回复
LZ应该学一下信息论,数据最小能压缩到多大是由数据包含的信息决定的,并不是想压到多大就压到多大。 一般压缩软件都是利用原始文件中的信息冗余进行压缩,例如自然语言或者图像都存在很大的冗余。另一种是有损压缩,例如图像和语言损失一点信息,普通人感觉不出来,从而起到压缩的作用。 你要根据你使用的数据的特点确定用什么压缩方法、能压缩到多大。
大尾巴猫 2013-09-05
  • 打赏
  • 举报
回复
随机的数据,128K压缩到32K都不太可能,别说128字节压缩到32字节了
奇零草 2013-09-05
  • 打赏
  • 举报
回复
除非有什么规律,随机数据就算了。
阿麦 2013-09-04
  • 打赏
  • 举报
回复
做得到吗?
不管你信不信,反正我是不相信。

要是做到了,将引起IT界的一次大工业海啸。
食人族哲学家 2013-09-04
  • 打赏
  • 举报
回复
请楼主提供数据规律,可以尝试预测编码,如果没有特别规律,算算信息熵吧,加上编码表,熵非常小的话也有可能做到。 既没规律,熵又大,或者码表本身就相对大,那洗洗睡吧,哪凉快哪待着吧。
condlover 2013-09-03
  • 打赏
  • 举报
回复
楼主 能否贴出一些常用的 压缩算法
O西瓜 2013-09-03
  • 打赏
  • 举报
回复
根据实际数据而不同,要看数据的特点和重复率,可以试试算术编码和哈夫曼编码,压缩比不一定,结果正如2楼所说的,无法保证.
Andy__Huang 2013-09-02
  • 打赏
  • 举报
回复
估计是c++可以做得到
mLee79 2013-09-02
  • 打赏
  • 举报
回复
这么短的数据, 不压的更长就烧高香了...
dbhme 2013-08-30
  • 打赏
  • 举报
回复
这个,不可能的任务
kernelkoder 2013-08-30
  • 打赏
  • 举报
回复
你看看linux内核的压缩包,叫linux...xz文件,100多M,解压后500M,所以看看XZ的源码可能有帮助
fuly_ABC 2013-08-30
  • 打赏
  • 举报
回复
引用 1 楼 nice_cxf 的回复:
。。。压缩多少主要看数据内容,没有那个算法能保证压缩到多少字节。。。
那128的数据内容不固定,是一串加密数据。但是肯定是128字节固定长度
nice_cxf 2013-08-30
  • 打赏
  • 举报
回复
。。。压缩多少主要看数据内容,没有那个算法能保证压缩到多少字节。。。

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧