问题:有如下一段字符串,需要提交到后台做保存。为了提高传输速率,降低文件大小,需要将该字符串进行压缩。
"25a133ad,25a133,25a133,25a133,25a133au,230a105ad,230a105,230a105,240a105,259a105,274a105,303a105,323a105,
337a105,345a105,347a105,348a105,348a105,348a105,348a105au,274a128ad,274a128,273a135,270a160,268a179,265a196,
263a207,261a215,261a217,261a217,261a217,261a217,261a217,261a217,261a217au,305a128ad,305a128,308a136,316a159,
322a181,325a199,327a206,327a206,327a206,327a206au,232a154ad,233a154,247a155,266a156,289a156,310a155,324a155,
335a155,339a155,339a155,339a155,339a155,339a155,339a155,339a155au,44a137ad,44a137,44a137,44a137au,419a130ad,
419a130,420a131,428a141,435a146,442a152,445a156,453a162,459a164,462a165,462a165,462a166,461a165,457a160,448a149,
445a146,444a145,444a145,443a145,443a146,445a152,449a158,455a159,457a159,465a156,474a151,478a150,481a148,482a148,
482a148,482a152,481a166,481a171,481a171,482a170,484a159,487a152,489a150,489a149,489a149,489a149,489a149,489a149,
489a149,489a149,489a149,489a149,489a149,489a149,489a149au,35a285ad,35a285,35a285,35a285,35a285au,560a138ad,
560a138,568a148,577a159,584a168,591a175,598a182,599a183,599a183,599a183,598a180"
利用无损压缩算法,将字符串进行压缩,非常耗时间,as2实现起来比较勉强,是不是可以另寻捷径呢?
突破口:flash中的字符串都是用unicode编码的,每个字符占用2个字节(16bit),例如 “ABC”,unicode编码是0x0041,0x0042,0x0043。英文和标点符号占用了0x0000~0x0080这128个位置(实际上前面还有保留空位)。再观察一下我们要处理的数据,只有0~9,a,u,d,w,.,,一共是16种符号,如果建立一个字符字典的话,可以写成这样:dic=["0","1",......","],这样一来,可以根据数组下标来获取任意字符,例如要获取"3",就是dic[4]。
有了自定义的字符字典,就开始字符转换啦:
1. 先把原始字符串的逗号都去掉,然后变成四个一组。2a51 33ad ,25a.....一直到最后,不足四位的用字典的第一个字符补齐,并记住补了几个字符su_num。
2. 写一个函数getIDFromDic(_str:String):Number,来查找每个字符对应的下标。
2. 将每组字符串转化成一个unicode字符:String.fromCharCode(getIDFromDic("2")
var dic:Array = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", ",", "a", "u", "d", "w"];
function getIDFromDic(_str:String):Number {
var len:Number = dic.length;
for (var i:Number = 0; i
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyuweb/2095.html
发表评论
-
TOMCAT+JSP+ACCESS+FLASH连接数据库
2010-04-10 14:05 643很多新人问FLASH和数据库连接的方法,这里介绍一下,后台可 ... -
Flash站技术应用(7)—FileReference路径获取问题
2010-04-10 14:04 868关于flash后台通信问题,大家先看下 火山的Flash+a ... -
Flash全站的技术应用-Flash也能播放wmv,wma
2010-04-10 14:04 676前言 Flash能播放除flv,m ... -
flash与后台交互时的数据压缩浅析
2010-04-10 14:04 629问题:有如下一段字符串,需要提交到后台做保存。为了提高传输速 ... -
flash中NetConnection与NetStream知识整理
2010-04-09 14:30 522NetConnection只有一个connect方法,NetS ... -
flv制作工具大全
2010-04-09 14:30 608Collected links to Flash Vid ... -
FLV播放器汇总
2010-04-09 14:29 611http://www.dengjie.com/weblog/c ... -
了解下flv播放器的基本功能
2010-04-09 14:29 582测试的时候在同目录下创建个“flv”文件夹,把要播放的视频文件 ... -
了解下flv播放器的基本功能
2010-04-09 14:29 638测试的时候在同目录下创建个“flv”文件夹,把要播放的视频文件 ... -
as3 使用sound类(翻译)-暂停和继续播放声音
2010-04-09 12:20 1141[1b]问题十[/1b] 如何暂停声音,如何从暂停的地 ... -
AS3 onReleaseOutside 事件模拟
2010-04-09 12:20 663昨天听群里的朋友在讨论AS3 onReleaseOutsid ... -
AS3 onReleaseOutside 事件模拟
2010-04-09 12:19 660昨天听群里的朋友在讨论AS3 onReleaseOutsid ... -
关于AS3中的深度复制
2010-04-09 12:19 610关于AS3中的深度复制( 参见 ),只能复制Object属性, ... -
关于AS3中的深度复制
2010-04-09 12:19 486关于AS3中的深度复制( 参见 ),只能复制Object属性, ... -
文本乱码过渡动画效果类
2010-04-08 11:53 671经常看到国外酷站使用这种文本过度效果,搜了一下没找到,正好今天 ... -
文本乱码过渡动画效果类
2010-04-08 11:53 535经常看到国外酷站使用这种文本过度效果,搜了一下没找到,正好今天 ... -
FLASH CS3中的FLA形式组件制作教程
2010-04-08 11:53 562下面给大家介绍下如何 ... -
Flash cs3组件皮肤
2010-04-08 11:53 558Adobe develop center的新文章Skinnin ... -
FLASH CS3快速打造一个小奶瓶图标
2010-04-08 11:52 512在下面的教程里,我们将从基本形状开始,完全使用FLASH画一个 ... -
Flash制作卷轴水墨画展开动画效果
2010-04-08 10:12 812北京奥运会开幕式上那充满诗意的卷轴,以及它所呈现给我们的一幅幅 ...
相关推荐
可实现flash与后台access交互的案例
ajax与后台交互案例组件,本组件为入门级ajax的web应用!
Ajax , jquery与后台交互Ajax , jquery与后台交互很经典的demo
实现Ajax与javaweb后台交互,后台为servlet,返回的数据类型为json,适合初学者
Flash与后台这本书的原装光盘,看了就可以搞明白怎么交互的,希望有用 谢谢
Flash使用XML与后台交互详细教程,Flash使用XML与后台交互详细教程
Flex与后台交互的几种方法详解
vue+iview的table分页与后台数据交互,在分页切换的时候能够实时的更新数据,避免数据更新缓慢不及时,造成的数据误差问题,希望能够帮助到大家
FLASH与ASP交互实例 FLASH与ASP之间通讯的实例源码
同时上传文件和相应的数据,实现前后台交互,同时上传文件和相应的数据,实现前后台交互同时上传文件和相应的数据,实现前后台交互
Jquery例子,前后台交互,验证,图片热点,等实用的js代码,直接用meyeclipse运行就可以
关于flash与mfc交互的一点代码。也许对你有用。适合入门者
代码实现了浏览器通过websocket实现与后台的交互,通信
flash跟asp.net后台交互原代码vs2010工具,sql server2005数据库,内有数据库
Flash与C#交互,BS和CS版本全有了
巧用flash的scommand(),可以与vb进行交互
C# js和后台交互 里面有详细的操作文档,非常实用。
这是一个demo,实现了安卓客服端和struts后台的交互,用json传输数据,是一个简单的例子,struts+hibernate+spring+Android;非常适合新手入门。
基于J2EE的后台服务与安卓客户端交互的详细示例
Jquery与后台的交互方式