社区
数据结构与算法
帖子详情
求RLE压缩算法,最好是c#的
ouyang76cn
2002-10-11 08:36:03
求RLE压缩算法,最好是c#的
...全文
137
1
打赏
收藏
求RLE压缩算法,最好是c#的
求RLE压缩算法,最好是c#的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
OUYAN
2002-10-11
打赏
举报
回复
简单的说RLE压缩就是将一串连续的相同数据转化为特定的格式达到压缩的目的。
下面都对byte流压缩。
如输入数据
LPBTE pByte={1,1,1,1,1,1};
压缩的数据为6,1
压缩了4个字符。
但是在数据流里面不能直接这么替换,而应该使用特殊的控制字符,否则无法解压。
比如pByte={6,1,0,1,1,1,1,1,1};
这样有两个6,1无法判断是原有的6,1还是{1,1,1,1,1,1}压缩后的代码。
所以应该有控制字符。
(1)
为了达到最大压缩率,可以先扫描源数据流,使用最少出现的字符做控制字符。
如 pByte={6,1,0,1,1,1,1,1,1,...};
扫描后发现0为最少出现的字符。 我们使用0作为压缩的控制,其他字符代表他本身。源数据里面的0,用0,0来表示。
那么pByte压缩后为
6,1,0,0,0,6,1 ......
解压时 BYTE a,b,c;
a=依次扫描压缩数据,如果输入字符为非控制字符,则直接输出到解压流。
如果为控制字符,b=其下一字符是否也为控制字符,如果是,在输出流输出控制字符的代码。
如果不是c=读压缩流,然后输出b个c到输出流。
注意:该处对于>Ctrlcode 的编码需要自己计算偏移.
如ctrl=2.那么n=3时应该修正为2.
刚才介绍的方法是最大压缩率的,但是因为对每个输入字符需要检查,速度不算快。
(2)
为了增加解压速度,可以采用其他的编码方式。
主要方法是不对每个输入字符进行检查,只检查较少次就达到几乎相同的压缩率。
来看看这个改进的方法。
仔细观察,其实对不重复的字符也可以用控制n+数据的方式表示。这里的n带表n个未压缩数据。
还是刚才的数据。
pByte={6,1,0,1,1,1,1,1,1}
不用扫描选择0为控制
压缩为3,{6,1,0,} 0, 6, 1
n ctrl n m
解压就非常方便了
扫描数据读一个字符,
{
n=read;
if(n)
{
字符拷贝n个
}
else
{
n=read();
m=read;
write (n个m);
}
}
(3)优化
对(1)的优化。
观察得知,1,1,1这样的数据压缩率为0,
所以当n<=3时不用压缩。
而直接写为1,1,1样的格式。
另外如果有多个控制字符连续。也可以压缩。
观察ctrl=0;
0,0,0,0
如果用控制编码为8个0
而压缩编码为0,4,0 所以控制字符连续两个即可压缩。
对(2):
只对压缩编码优化。
例
1,2,3,4,1,1
如果死套公式,为
4,1,2,3,4,0,2,1
反倒增加2个字节。
如果用
6,1,2,3,4,1,1只增加一个字节。
rle
压缩算法
的
c#
版
rle
压缩算法
的
c#
版
C#
教程 实现
RLE
压缩算法
C#
简单源代码.zip
可以对控制台输入的数据进行简单的
RLE
压缩并输出
数组
RLE
算法压缩实现源码
数组
RLE
算法压缩实现源码
RLE
编码二值图像压缩
本系统是用
C#
写的一个winform的应用程序,它专门用来处理二值图像的压缩。效率很好,有源代码展示。在做一个项目要用到
RLE
算法,本来想偷懒在网上搜一个源码,但没有找到用
c#
写的
RLE
,故只能自己写一个。现在送给大家,希望对你有帮助
Run-Length-Encoding:应用游程长度编码(
RLE
)算法压缩数据
游程编码 应用游程长度编码(
RLE
)算法来压缩数据。 描述 对于我们学校ETNA的项目,我们必须做一个有关运行长度编码的项目。 入门 依存关系 需要PHP。 正在安装 git clone或下载gitlab中的存储库。 执行程序 运行程序 php encode *path_file_to_encode* *path_file_destination_and_name* php decode *path_file_to_decode* *path_file_destination_and_name* 作者 Fabio Machado ThéoBouley 版本记录 0.1 初始发行 执照 该项目是开源的,请阅读学校巴黎的CGV。
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章