ff提供了overrid " /> 精品亚洲一区二区三区,在线碰,国产视频一区在线

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

解決遠程頁面抓取中的亂碼問題?

由于平時使用的網頁文件基本上都是gb2312編碼方式,如果通過xmlhttp控件讀取的話,肯定會出現亂碼問題,但是要把所有文件都改成utf-8編碼,操作上比較麻煩。經過反復比較,我找到了相對實用的解決方法。

  ff提供了overrideMimeType方法,可以指定返回值的編碼,所以解決起來比較簡單,只要把這個方法指向gb2312就可以了。對于IE,可以用vbs配合來作編碼轉換,用gb2utf8來轉換接收到的二進制數據,其中利用到execScript方法來調用vbs的函數。

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
ie下的轉碼可以改進,通過正則的回調過程能提高不少效率  

復制代碼 代碼如下:
this.bs2str = function(bs){  
    if(!window.jsMidB) main.vbInit("MidB", 2);  
    if(!window.jsChr) main.vbInit("Chr", 1);  
    if(!bs2str.ss) bs2str.ss = [];  
    return unescape(escape(jsMidB(bs,1)).replace(/(.{2})(.{2})(.{2})/g, "%$3%$2").replace(/%([^0-7].)(.)(.{2})/g, function(a,a1,a2,a3){var s=a1+a3;if(!bs2str.ss[s]) bs2str.ss[s]=jsChr(eval("0x"+s));return bs2str.ss[s];}));  
    } 

不過我還是認為載入數據用xmldom要好一些 
replace(/(.{2})(.{2})(.{2})/g, "%$3%$2") 改成 replace(/.{2}(.{2})(.{2})/g, "%$2%$1") 少一個存儲.比原來的快3倍以上. 
把eval去掉,效率還能提高一些 
復制代碼 代碼如下:
    // byte() encoding 
    this.bs2str = function(bs){ 
        if(!window.jsMidB) main.vbInit("MidB", 2); 
        if(!window.jsChr) main.vbInit("Chr", 1); 
        if(!this.bs2str.ss) this.bs2str.ss = []; 
        return unescape(escape(jsMidB(bs,1)).replace(/.{2}(.{2})(.{2})/g, "%$2%$1").replace(/%([^0-7].)(.)(.{2})/g, function(a,a1,a2,a3){var s=a1+a3;if(!This.bs2str.ss[s]) This.bs2str.ss[s]=jsChr("&H"+s);return This.bs2str.ss[s];})); 
    }  

JavaScript技術解決遠程頁面抓取中的亂碼問題?,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日本中文字幕一区 | 九九九精品视频 | 毛片区| 女朋友的闺蜜3韩国三级 | 一级久久久久久 | 久久久青草婷婷精品综合日韩 | 国产乱码精品一区二区三区忘忧草 | 天天操天天摸天天爽 | 污书屋 | 国产精品久久久久久久久久免费看 | 国产农村一级国产农村 | 久久男女视频 | 91久久精品国产91久久 | 国产精品永久久久久 | 欧美精品区 | 免费三级网站 | 95国产精品| 亚洲精品久久久久中文字幕欢迎你 | 久久人人网| 国产精品久久久久久久久久久免费看 | 国产精品国产精品国产专区不片 | 国产精品美女久久久 | 国产特一级黄色片 | 久久免费精品 | 亚洲精品大片 | 日本一区二区影视 | 欧美日韩精品中文字幕 | 红色av社区| 亚洲精品久久久一区二区三区 | 激情五月婷婷在线 | 欧美激情网站 | 亚洲女人天堂成人av在线 | 在线免费中文字幕 | 美女爽到呻吟久久久久 | 韩日在线视频 | 中文字幕高清免费日韩视频在线 | 国产亚洲一区二区三区在线 | 在线视频 亚洲 | 中文字幕在线观看一区 | 国产成人a亚洲精品 | 久久九精品 |