婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > vbs中將GB2312轉Unicode的代碼

vbs中將GB2312轉Unicode的代碼

熱門標簽:打電話的外呼系統貴不貴 陜西高頻外呼回撥系統哪家好 加盟電銷機器人好的品牌 外呼營銷下單系統 辦理膠州400電話財稅 前鋒辦理400電話申請 新密防封卡外呼系統違法嗎 海外美發店地圖標注 百度地圖標注怎么卸載
今天寫了一個類似于下面的程序:
復制代碼 代碼如下:

Dim http
Set http = CreateObject("msxml2.xmlhttp")
http.open "GET","http://www.sina.com.cn/",False
http.send
WScript.Echo http.responseText

但是卻發現返回的中文都是亂碼,看了一下發現新浪的編碼竟然是gb2312的,汗,現在都是utf-8編碼的時代了。responseText對utf-8編碼支持得很好,但是如果是gb2312編碼就會返回亂碼,有時甚至會報錯。無奈,只好用responseBody然后自己轉碼。
復制代碼 代碼如下:

Dim http
Set http = CreateObject("msxml2.xmlhttp")
http.open "GET","http://www.sina.com.cn/",False
http.send
WScript.Echo GB2312ToUnicode(http.responseBody)

于是就要自己寫一個GB2312ToUnicode函數,用ado很容易實現:
復制代碼 代碼如下:

Function GB2312ToUnicode(str)
With CreateObject("adodb.stream")
.Type = 1 : .Open
.Write str : .Position = 0
.Type = 2 : .Charset = "gb2312"
GB2312ToUnicode = .ReadText : .Close
End With
End Function

這樣返回的就是VBS字符串默認的Unicode編碼了,不過用ado不能顯示我鬼使神差的VBS水平,于是自己根據“算法”再寫了一個:
復制代碼 代碼如下:

Function GB2312ToUnicode(str)
length = LenB(str) : out = ""
For i = 1 To length
c = AscB(MidB(str,i,1))
If c = 127 Then
out = out Chr(c)
Else
i = i + 1
d = Hex(AscB(MidB(str,i,1)))
c = "H" Hex(c) d
out = out Chr(c)
End If
Next
GB2312ToUnicode = out
End Function

只可惜效率太低,就當練練手吧。
原文:http://demon.tw/programming/vbs-gb2312-unicode.html

標簽:伊春 四平 河南 梅州 阜陽 牡丹江 武威 咸陽

巨人網絡通訊聲明:本文標題《vbs中將GB2312轉Unicode的代碼》,本文關鍵詞  vbs,中將,GB2312,轉,Unicode,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《vbs中將GB2312轉Unicode的代碼》相關的同類信息!
  • 本頁收集關于vbs中將GB2312轉Unicode的代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 香河县| 马公市| 滦南县| 德昌县| 区。| 寻甸| 博湖县| 木里| 北碚区| 葵青区| 汝城县| 新龙县| 汪清县| 栾城县| 恩平市| 分宜县| 凤山县| 宁波市| 宝丰县| 奉新县| 三明市| 南召县| 安化县| 逊克县| 衡水市| 阿城市| 安乡县| 吴川市| 财经| 阿坝| 庄浪县| 慈利县| 黄平县| 绥芬河市| 咸阳市| 永泰县| 兰坪| 佳木斯市| 绥阳县| 莫力| 云龙县|