繼續(xù)尋找,在CodeProejct.com找到一篇文章《Reading And Writing " /> 欧美成人乱弄视频,天天射寡妇射,五月婷婷中文字幕

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JScript中使用ADODB.Stream判斷文件編碼的代碼

一開(kāi)始使用ASCII編碼來(lái)讀取文本數(shù)據(jù),模擬讀取二進(jìn)制數(shù)據(jù),但是發(fā)現(xiàn)如果字符編碼大于127時(shí),只會(huì)得到小于128的值,相當(dāng)于和128取余了,因此ASCII編碼是不行的。

繼續(xù)尋找,在CodeProejct.com找到一篇文章《Reading And Writing Binary Files Using JScript》,里面剛好有我需要的內(nèi)容。

其實(shí)說(shuō)來(lái)也簡(jiǎn)單,就是把編碼換一下,使用437,這個(gè)是IBM擴(kuò)展過(guò)的ASCII編碼,把ASCII編碼的最高位也利用起來(lái),將字符集中的字符從128個(gè)擴(kuò)展到256個(gè),而使用這個(gè)字符集讀取的字符數(shù)據(jù)就相當(dāng)于原始二進(jìn)制數(shù)據(jù)了。

解決了障礙后,就要開(kāi)始識(shí)別文件的編碼了,通過(guò)使用ADODB.Stream對(duì)象來(lái)讀取文件的開(kāi)始兩個(gè)字節(jié),然后根據(jù)這兩個(gè)字節(jié)就可以判斷文件編碼是什么了。

UTF-8文件如果帶BOM的話,那么頭兩個(gè)字節(jié)就是0xEF、0xBB,再例如Unicode文件的開(kāi)始兩個(gè)字節(jié)是0xFF、0xFE,這些就是判斷文件編碼的依據(jù)。

需要注意的是,在ADODB.Stream讀取字符時(shí),并不是一一對(duì)應(yīng)的,也就是說(shuō),如果二進(jìn)制數(shù)據(jù)是0xEF,讀取出來(lái)的字符經(jīng)過(guò)charCodeAt之后,并不是0xFE,而是另外的值,這個(gè)對(duì)應(yīng)表可以在上面提到的文章里查到。

程序代碼:
復(fù)制代碼 代碼如下:
function CheckEncoding(filename) { 
    var stream = new ActiveXObject("ADODB.Stream"); 
    stream.Mode = 3; 
    stream.Type = 2; 
    stream.Open(); 
    stream.Charset = "437"; 
    stream.LoadFromFile(filename); 
    var bom = escape(stream.ReadText(2)); 
    switch(bom) { 
        // 0xEF,0xBB => UTF-8 
        case "%u2229%u2557": 
            encoding = "UTF-8"; 
            break; 
        // 0xFF,0xFE => Unicode 
        case "%A0%u25A0": 
        // 0xFE,0xFF => Unicode big endian 
        case "%u25A0%A0": 
            encoding = "Unicode"; 
            break; 
        // 判斷不出來(lái)就使用GBK,這樣可以在大多數(shù)情況下正確處理中文 
        default: 
            encoding = "GBK"; 
            break; 
    } 
    stream.Close(); 
    delete stream; 
    stream = null; 
    return encoding; 


這樣,在需要的時(shí)候,通過(guò)調(diào)用CheckEncoding函數(shù)就可以獲取文件的編碼了。
希望此文對(duì)你有所幫助。

JavaScript技術(shù)JScript中使用ADODB.Stream判斷文件編碼的代碼,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲另类图片小说 | 欧美性与交视频在线观看 | 国产精品久久久久久吹潮 | 97精品久久天干天天蜜 | 在线观看免费国产视频 | 色多多在线观看视频 | 亚洲精品综合 | 欧美日韩一区二区在线观看视频 | 午夜欧美成人久久久久久 | 亚洲天砖砖区免费 | 亚洲国产精品日韩高清秒播 | 椎名空中文字幕一区二区 | 国产成人精品亚洲2020 | 91精品欧美一区二区三区 | 国产一区二区在免费观看 | 国产精品永久免费自在线观看 | 国产夜趣福利免费视频 | 国产午夜视频高清 | 国产小视频在线免费观看 | 视频黄在线观看 | 国产在线精品国自产拍影院同性 | 久久精品道一区二区三区 | 日韩免费视频在线观看 | 美女黄视频免费 | 国产zzzwww在线观看视频 | 亚洲综合久久综合激情久久 | 国产精品11页 | 大伊人久久 | 精品国产日韩久久亚洲 | 国产精品久久一区一区 | 麻豆高清视频 | 国产麻豆网 | 欧美日韩激情 | 日韩综合色| 国产亚洲精品sese在线播放 | 天天爱天天干天天操 | 中国女人真人一级毛片 | 毛片韩国 | 天天舔天天色 | 欧美特黄a级高清免费看片 欧美特黄a级片 | 九色精品视频在线观看 |