婷婷综合国产,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的代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 清涧县| 嘉义市| 元朗区| 开远市| 碌曲县| 墨脱县| 高邮市| 苍溪县| 西宁市| 浪卡子县| 中方县| 册亨县| 革吉县| 法库县| 西城区| 铁力市| 谢通门县| 垣曲县| 阿瓦提县| 广饶县| 昌黎县| 清远市| 高阳县| 杭锦旗| 民和| 六安市| 靖宇县| 岐山县| 汾西县| 法库县| 汾阳市| 贵阳市| 连城县| 蒲江县| 罗平县| 贵南县| 乳源| 东乌| 大连市| 德庆县| 全椒县|