Flash的压缩算法 - 秀策坊

本文详细介绍了Flash中的LZW压缩算法,包括其基本原理、压缩流程及特点。LZW是一种无损压缩编码,适用于图像数据和文本程序的压缩。随着FlashPlayer 8.5的发布,ActionScript支持了内置的Zlib压缩,提供了更高效的压缩性能。文章还提及了AS3中的新特性,如runtime type checking、binary socket和AMF3等。
摘要由CSDN通过智能技术生成
导读:
由于要解决大数据传输问题,所以前几天研究了一下,Flash的压缩算法,8.5以前版本的FlashPlayer本身没有压缩算法,所以只能用户自己写,清风同志挑选了LZW算法,因为是无损压缩,而且压缩比很高,但使用过程中发现压缩速度以及对cpu的占用确实有些高(一个64K的字符串,压缩后大概是14-16K之间,结果很好,但是过程大概要用1.5秒,有明显的停顿感,要是120K客户端可就受不了)
加上flash是脚本语言,延迟比较明显.所以还是等到8.5正式出了以后吧,好的都要留到最后!
ActionScript的lzw压缩算法:
http://blog.xuite.net/ticore/blog2/4060011

什么是LZW
LZW压缩编码
  LZW(Lempel Ziv Welch)压缩编码是一种先进的数据压缩技术,属于无损压缩编码,该编码主要用于图像数据的压缩。对于简单图像和平滑且噪声小的信号源具有较高的压缩比,并且有较高的压缩和解压缩速度。
  1977年,两位以色列教授Lempel和Ziv提出了查找冗余字符和用较短的符号标记替代冗余字符的概念。1985年,由Welch加以充实而形成LZW,简称“LZW”技术。
1.LZW压缩基本原理
  LZW压缩技术把数据流中复杂的数据用简单的代码来表示,并把代码和数据的对应关系建立一个转换表,又叫“字符串表”。
  转换表是在压缩或解压缩过程中动态生成的表,该表只在进行压缩或解压缩过程中需要,一旦压缩和解压缩结束,该表将不再起任何作用。
2.LZW算法
  LZW算法基于转换串表(字典)T,将输入字符串映射成定长(通常为12位)的码字。在12位4096种可能的代码中,256个代表单字符,剩下3840给出现的字符串。
LZW字典中的字符串具有前缀性,即 。
LZW算法流程:
1)初始化:将所有的单字符串放入串表
2)读第一个输入字符给前缀串ω
3)Step: 读下一个输入字符K;
    if 没有这样的K(输入已穷尽):
      码字(ω) 输出;结束。
    If ωK 已存在于串表中:
      ωK:=ω;repeat Step;
     else ωK不在于串表中:
       码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值