手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >xmlHTTP返回值重编码的优化
xmlHTTP返回值重编码的优化
摘要:置顶的帖子里有一个VBscript的代码用来将xmlHTTP返回值重编码,不过效率极其低下.....俺费了好大的力气,终于做了一个速度勉强让...

置顶的帖子里有一个VBscript的代码用来将xmlHTTP返回值重编码,不过效率极其低下.....俺费了好大的力气,终于做了一个速度勉强让人满意的代码。不过水平所限还是不得不用了vbscript的chr函数用来将acsii转成unicode,不知道哪位大哥能想想办法?

ps:算法优化真是个费脑筋的活。

-×-×-×-×-×-×-×-×-华丽的更新分割线-×-×-×-×-×-×-×-×-

俺每句话都下了断点测试运行时间,终于把运行时间缩短了大约10倍,现在应该是一种可以实用的算法了。

我一开始用正则替换,每个字替换一遍,结果发现87020字节居然要40秒左右

现在这个代码在我电脑上只需要大约3秒,哈哈哈哈,感觉真爽

注意:对于只需要解码一次的情形本算法不是最优,但是对于需要多次解码的时候应该是最好的算法了。

xml Http //***Author: Hutia //测试用的网址 url="http://www.blueidea.com/"; //确认需要的VBScript函数是否存在,不存在就写一个 try{ if(typeof(rsB)=="undefined"){initVBS();}; }catch(e){initVBS();} //**全局变量** //glbEncode储存ascii到unicode字符的转换,这样做的好处是可以提高重复解码时的解码效率 glbEncode=new Array(); //**初始化函数** function initVBS(){ //初始化VBscript的两个funtion:rsB 和 vbChar strVBS="rn"; strVBS+="Function rsB(vIn)rnrsB=MidB(vIn,1)rnEnd Functionrn"; strVBS+="Function vbChar(ss)rnvbChar = Chr(ss)rnEnd Functionrn"; strVBS+=""; document.write(strVBS); } //用同步方式获取网页内容 function loadURL(strURL){ if(!strURL){return(false);} var xmlHTTP=new ActiveXObject("MSXML2.XMLHTTP"); xmlHTTP.open("GET",strURL,false); xmlHTTP.send(""); return xmlHTTP; } //重编码 function reCode(b){ var s=rsB(b); s=escape(s).replace(/%u/gi,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/ig,"%@$1$2"); var uniS=s.match(/%@(.{4})/g); s=s.replace(/@/g,""); if(uniS){ var k; for(var i=0;i

【xmlHTTP返回值重编码的优化】相关文章:

javascript实现动态改变层大小的方法

JavaScript中的blink()方法的使用

JS或jQuery获取ASP.NET服务器控件ID的方法

光标定位等TextRange的操作的范例代码

在JS方法中返回多个值的方法汇总

JavaScript中this关键字使用方法详解

基于JavaScript实现动态添加删除表格的行

自动关闭的层

使用RequireJS优化JavaScript引用代码的方法

JavaScript深度复制(deep clone)的实现方法

上一篇: xWin之JS版
精品推荐
分类导航