婷婷综合国产,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的代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 泸定县| 广灵县| 晋中市| 镇平县| 灵石县| 渑池县| 搜索| 汕尾市| 于田县| 峡江县| 望江县| 乌兰浩特市| 闽清县| 建水县| 定安县| 井陉县| 沾益县| 彰化县| 建宁县| 桦甸市| 绍兴县| 民县| 彭州市| 会东县| 都昌县| 卫辉市| 丰台区| 福建省| 星子县| 梁平县| 尼勒克县| 莆田市| 竹山县| 通河县| 内黄县| 神农架林区| 吴堡县| 永兴县| 阳泉市| 重庆市| 桐城市|