? 我有个想法大家看看是否行得通,有关字符串压缩的! 本帖最后由 caozhy 于 2012-04-27 14:03:29 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 然后再将字符串转换为 长整形 long 类型的数 num,-----------怎么转换? .net 还真没有 将字符转换为 long 的函数~~~~~~ 如果不能定长,那就只能规定带压缩字符串的长度了,然后在规定压缩后字符串的长度,实现在一定范围内的定长吧!还有,想 winRar 那样的压缩算法,对于纯文本文件的压缩率能达到 85% 以上,达到这种效果也能在一定程度上保证定长了吧 不懂常识的人真可怕。lz估计还在上中小学吧再给你科普下,为什么WinRAR压缩文本可以得到很高的压缩率。我们知道,文本在电脑中使用ascii码表示。一个文本原始可能使用8bit二进制数表示,1~11111111,一共是255个可能。但是,对于大多数文本文件来说,只包含a-z0-9这大约36种可能。于是压缩算法调整了映射关系,让常见的编码拥有较短的形式,而不常见的拥有较长的形式。也就是说,如果文本中出现了一个'e'我们用01表示,如果出现了一个'ÿ'我们用01111111表示。虽然总体上看,我们让一部分编码比压缩前的长了,另一部分变短了。但是因为变长的出现的概率很低,变短的出现的概率很高,所以总体上看,文本被压缩了。 纯数学无损压缩是不现实的,但是你可以使用字典啊,尤其是英文,你可以对照牛津词典建个自己的库,比如1=apple ,2=word,3=hourse ..... ... 这样一来,还原的时候对照字典,就实现了最原始的压缩算法啦 确实没做过 压缩算法 方面的研究,开发时遇到了问题,首先想到的就是这个思路,有句话说的好“只有想不到的,没有做不到的”,我想就是个时间问题吧!谢谢‘caozhy’ 的积极参与,如果有机会深入研究 相关算法 ,可以向你请教!不过说实话,现在让我做些中学的题,我还真不会了呢!盖茨同学说过的话真好(好像是他说的),大概意思是说:“如果能快速查到的知识,就没必要记住它”这句话不同人有不同的理解吧! 本帖最后由 caozhy 于 2012-04-27 16:52:34 编辑 用户键入一个数。用递归求到这个数的阶乘 C# 字符串截取函数 winform实现录制视频功能 C#如何从pdf中抽取文本 如何在RichTextBox控件中插入文件内容 用C#在WEB页编写代码,怎样让事件过程的第一行自动出现在页面上? 用C#做CS开发感觉好不爽啊!还没我原来的d7好用。 初学者请求指教:利用textBox中输入的内容去查询数据库得出相关信息。在线等待。。。 [急]请教各路大神:如何用C#创建一个进程外COM服务器(EXE)?? 主机名和域名一样?? 特别简单基础的xml问题!!! PPP协议的LCP链路包中的校验位怎么计算出来的?
.net 还真没有 将字符转换为 long 的函数~~~~~~
然后在规定压缩后字符串的长度,实现在一定范围内的定长吧!还有,想 winRar 那样的压缩算法,对于纯文本文件的压缩率能达到 85% 以上,
达到这种效果也能在一定程度上保证定长了吧
不懂常识的人真可怕。lz估计还在上中小学吧再给你科普下,为什么WinRAR压缩文本可以得到很高的压缩率。
我们知道,文本在电脑中使用ascii码表示。
一个文本原始可能使用8bit二进制数表示,1~11111111,一共是255个可能。
但是,对于大多数文本文件来说,只包含a-z0-9这大约36种可能。
于是压缩算法调整了映射关系,让常见的编码拥有较短的形式,而不常见的拥有较长的形式。
也就是说,如果文本中出现了一个'e'我们用01表示,如果出现了一个'ÿ'我们用01111111表示。虽然总体上看,我们让一部分编码比压缩前的长了,另一部分变短了。但是因为变长的出现的概率很低,变短的出现的概率很高,所以总体上看,文本被压缩了。
开发时遇到了问题,首先想到的就是这个思路,
有句话说的好“只有想不到的,没有做不到的”,
我想就是个时间问题吧!谢谢‘caozhy’ 的积极参与,如果有机会深入研究 相关算法 ,可以向你请教!不过说实话,现在让我做些中学的题,我还真不会了呢!盖茨同学说过的话真好(好像是他说的),大概意思是说:“如果能快速查到的知识,就没必要记住它”这句话不同人有不同的理解吧!