我在网上搜到的一段解决xmlHttp乱码的javascript程序,请教高人解释一下这段程序的原理,就是通过什么原理或者算法变换的,我没想明白.gb2utf8(xmlHttp.responseBody)后,便可解码出正常的数据.
function gb2utf8(data){  
    var glbEncode = [];  
    gb2utf8_data = data;  
    execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");  
    var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");  
    t=t.split("@");  
    var i=0,j=t.length,k;  
    while(++i<j) {  
        k=t[i].substring(0,4);  
        if(!glbEncode[k]) {  
            gb2utf8_char = eval("0x"+k);  
            execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");  
            glbEncode[k]=escape(gb2utf8_char).substring(1,6);  
        }  
        t[i]=glbEncode[k]+t[i].substring(4);  
    }  
    gb2utf8_data = gb2utf8_char = null;  
    return unescape(t.join("%"));  
}