作者CCT63 (CCT)
看板MATLAB
标题[问题] 怎样将字串输出到txt档的大小最小?
时间Tue Apr 3 11:39:03 2012
请问
我现在有一个非常长的字串str(1*952280)
我现在用这个方式存到了txt档後
档案大小太大了= =a
==
fid = fopen('bitstream.txt','w');
fwrite(fid,str,'uchar');
==
这个方式让我的档案大小900多K = =
想请问有没有什麽方式能让字串存入txt档
而大小可以大量缩减的??
是用什麽格式存入txt都OK
==
作业写到这边遇到瓶颈
所以来请教一下版上的神手
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.144.35
1F:→ DKer:(搔头) 952280个位元组=929.96KB啊 用单纯txt无法再小了 04/03 13:36
因为我们作业是要做压缩 900K已经大了好几倍了Q_Q
2F:→ sanzosaskura:这个字串内是都有值还是只有少数有值? 用sparse看看? 04/03 14:04
都有值 0or1
※ 编辑: CCT63 来自: 140.113.144.35 (04/03 14:22)
3F:推 sanzosaskura:我的意思是1很多吗? 还是几乎全都是0? 04/03 20:06
理论上会是一半一半
※ 编辑: CCT63 来自: 140.113.63.222 (04/03 21:12)
4F:→ doom8199:用 entropy coding 降低 bits 04/05 00:33
doom大我们作业就是要写压缩耶Q_Q
5F:推 okgogogo:你是要txt直接打开看得到字串?还是程式RUN完得到字串? 04/05 01:33
6F:→ okgogogo:存952280个1 和 ones(1,952280) 程式码两个差很多 04/05 01:37
我们是要程式run完後可以还原字串即可
请问有什麽办法吗?
※ 编辑: CCT63 来自: 140.113.63.222 (04/06 01:54)