亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > VBScript > 正文

VBS中轉換二進制數據為字符串常用辦法

2020-03-24 17:37:02
字體:
來源:轉載
供稿:網友
至少有三種以上辦法,可以把二進制數據(比如您從ASP的Request.BinaryRead方法得到的數據)轉換為字符串。

第一種:使用VBS的MultiByte 方法

實例:

Function SimpleBinaryToString(Binary)
'SimpleBinaryToString converts binary data (VT_UI1 | VT_ARRAY Or MultiByte string)
'to a string (BSTR) using MultiByte VBS functions
Dim I, S
For I = 1 To LenB(Binary)
S = S & Chr(AscB(MidB(Binary, I, 1)))
Next
SimpleBinaryToString = S
End Function

這個方法非常簡單明了,但是處理大數據流時,比較慢。
建議只用來處理100KB以下的數據。
下面的這個類似的方法,性能稍微好些:
Function BinaryToString(Binary)
'Antonin Foller, http://www.pstruh.cz
'Optimized version of a simple BinaryToString algorithm.

Dim cl1, cl2, cl3, pl1, pl2, pl3
Dim L
cl1 = 1
cl2 = 1
cl3 = 1
L = LenB(Binary)

Do While cl1 =L
pl3 = pl3 & Chr(AscB(MidB(Binary,cl1,1)))
cl1 = cl1 + 1
cl3 = cl3 + 1
If cl3 300 Then
pl2 = pl2 & pl3
pl3 = ""
cl3 = 1
cl2 = cl2 + 1
If cl2 200 Then
pl1 = pl1 & pl2
pl2 = ""
cl2 = 1
End If
End If
Loop
BinaryToString = pl1 & pl2 & pl3
End Function
BinaryToString方法比SimpleBinaryToString方法性能高20倍。建議用來處理2MB以下的數據。
第二種方法:使用ADODB.Recordset
ADODB.Recordset 可以讓你支持幾乎所有VARIANT支持的數據類型,你可以用它在string和
binary之間轉換。
Function RSBinaryToString(xBinary)
'Antonin Foller, http://www.pstruh.cz
'RSBinaryToString converts binary data (VT_UI1 | VT_ARRAY Or MultiByte string)
'to a string (BSTR) using ADO recordset

Dim Binary
'MultiByte data must be converted To VT_UI1 | VT_ARRAY first.
If vartype(xBinary)=8 Then Binary = MultiByteToBinary(xBinary) Else Binary = xBinary

Dim RS, LBinary
Const adLongVarChar = 201
Set RS = CreateObject("ADODB.Recordset")
LBinary = LenB(Binary)

If LBinary 0 Then
RS.Fields.Append "mBinary", adLongVarChar, LBinary
RS.Open
RS.AddNew
RS("mBinary").AppendChunk Binary
RS.Update
RSBinaryToString = RS("mBinary")
Else
RSBinaryToString = ""
End If
End Function
RSBinaryToString 沒有什么限制--除了物理內存之外。這種處理方式是MultiByte方式的100倍!你可以用它來處理高達100MB的數據! 這種轉換方式,你也可以用來把MultiByte strings轉換為String。下面這個方法把MultiByte strings轉換為Binary:Function MultiByteToBinary(MultiByte)
' 2000 Antonin Foller, http://www.pstruh.cz
' MultiByteToBinary converts multibyte string To real binary data (VT_UI1 | VT_ARRAY)
' Using recordset
Dim RS, LMultiByte, Binary
Const adLongVarBinary = 205
Set RS = CreateObject("ADODB.Recordset")
LMultiByte = LenB(MultiByte)
If LMultiByte 0 Then
RS.Fields.Append "mBinary", adLongVarBinary, LMultiByte
RS.Open
RS.AddNew
RS("mBinary").AppendChunk MultiByte & ChrB(0)
RS.Update
Binary = RS("mBinary").GetChunk(LMultiByte)
End If
MultiByteToBinary = Binary
End Function
第三種:使用ADODB.Stream這種方式是比較常用的:'Stream_BinaryToString Function
'2003 Antonin Foller, http://www.pstruh.cz
'Binary - VT_UI1 | VT_ARRAY data To convert To a string
'CharSet - charset of the source binary data - default is "us-ascii"
Function Stream_BinaryToString(Binary, CharSet)
Const adTypeText = 2
Const adTypeBinary = 1

'Create Stream object
Dim BinaryStream 'As New Stream
Set BinaryStream = CreateObject("ADODB.Stream")

'Specify stream type - we want To save text/string data.
BinaryStream.Type = adTypeBinary

'Open the stream And write text/string data To the object
BinaryStream.Open
BinaryStream.Write Binary


'Change stream type To binary
BinaryStream.Position = 0
BinaryStream.Type = adTypeText

'Specify charset For the source text (unicode) data.
If Len(CharSet) 0 Then
BinaryStream.CharSet = CharSet
Else
BinaryStream.CharSet = "us-ascii"
End If

'Open the stream And get binary data from the object
Stream_BinaryToString = BinaryStream.ReadText
End Function
要存儲、獲取二進制數據,從一個本地文件、上傳的二進制數據文件或者ASP中,可以參考:Pure and Huge ASP file upload with progress.。 Tip keywords: Binary, Byte, Array, VT_UI1, VT_ARRAY, BinaryWrite, BinaryRead, ChrB, InstrB, LeftB, MidB, RightB, ASP, VBSCOPYRIGHT AND PERMITTED USE OF http://www.pstruh.cz/tips WEBSITE. The entire contents of PSTRUH Software website consist of copyright material owned by Antonin Foller, PSTRUH Software.html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久伊人| 久久国产精品首页| 欧美老女人在线视频| 亚洲国产福利在线| 性欧美xxxx交| 日韩不卡中文字幕| 国产免费一区视频观看免费| 久久综合色88| 正在播放欧美一区| 亚洲剧情一区二区| 国产成人精品视频在线观看| 另类色图亚洲色图| 午夜精品一区二区三区在线播放| 欧美色欧美亚洲高清在线视频| 国产精品成人aaaaa网站| 欧美亚洲国产精品| 91精品视频免费| 亚洲精品综合精品自拍| 亚洲久久久久久久久久久| 亚洲精品久久久一区二区三区| 91国产视频在线| 国产在线精品一区免费香蕉| 亚洲qvod图片区电影| 91啪国产在线| 亚洲美女av在线播放| 日韩电影在线观看免费| 欧美日韩成人在线播放| 国产一区二区美女视频| 91精品久久久久久久久中文字幕| 精品国产欧美一区二区五十路| 日韩精品有码在线观看| 在线播放日韩欧美| 亚洲国产欧美在线成人app| 欧美日韩国产中文精品字幕自在自线| 中国日韩欧美久久久久久久久| 欧美精品激情视频| 俺也去精品视频在线观看| 欧美一级大片在线观看| 欧美精品videosex极品1| 岛国视频午夜一区免费在线观看| 日韩精品免费在线播放| 91九色国产社区在线观看| 日韩av免费一区| 国产成人亚洲综合91| 欧美一区二区三区免费视| 精品无人国产偷自产在线| 日韩国产在线看| 91tv亚洲精品香蕉国产一区7ujn| 91在线|亚洲| 国产精品美女久久久久av超清| 亚洲男人的天堂在线播放| 亚洲第一精品夜夜躁人人爽| 久久久精品网站| 狠狠色狠狠色综合日日小说| 国产综合久久久久| 欧美放荡办公室videos4k| 亚洲欧美日韩视频一区| 久久亚洲欧美日韩精品专区| 高清亚洲成在人网站天堂| 国产免费成人av| 精品美女国产在线| 久久亚洲国产成人| 日本欧美一级片| 日韩在线播放视频| 国产精品高潮呻吟久久av野狼| 欧美寡妇偷汉性猛交| 国产日韩换脸av一区在线观看| 亚洲精品成人免费| 精品福利一区二区| 日韩美女福利视频| 色多多国产成人永久免费网站| 亚洲精品理论电影| 日韩亚洲成人av在线| 久久久免费电影| 久久69精品久久久久久国产越南| 国产一区二区视频在线观看| 亚洲欧洲一区二区三区在线观看| 亚洲人成在线一二| 亚洲一区二区三区乱码aⅴ| 粉嫩老牛aⅴ一区二区三区| 日韩精品在线免费| 国产精品天天狠天天看| 国产精品免费福利| 欧美综合第一页| 午夜精品视频在线| 日韩电影免费观看中文字幕| 成人欧美一区二区三区黑人| 亚洲一二三在线| 亚洲一区国产精品| 91精品久久久久久久久中文字幕| 九九视频直播综合网| 亚洲福利视频久久| 性色av香蕉一区二区| 国产精品美女午夜av| 国产精品爽黄69天堂a| 国产精品国产三级国产aⅴ9色| 亚洲一区二区三区成人在线视频精品| 亚洲黄在线观看| 国产日本欧美一区二区三区| 精品国模在线视频| 精品久久久中文| 色先锋久久影院av| 中文字幕日韩电影| 亚洲天堂男人的天堂| 欧美日韩国产在线| 亚洲品质视频自拍网| 国产人妖伪娘一区91| 亚洲国产日韩欧美在线图片| 欧美视频免费在线| 美女少妇精品视频| 国产精品99久久久久久人| 免费av一区二区| 久久久视频在线| 亚洲欧美999| 成人国内精品久久久久一区| 欧美xxxx做受欧美| 国产精品一区二区三区久久久| 日本免费一区二区三区视频观看| 成人字幕网zmw| 亚洲人成在线观| 日本午夜人人精品| 亚州av一区二区| 国产黑人绿帽在线第一区| 成人福利免费观看| 亚洲欧洲免费视频| 久久久久久久一区二区| 亚洲精品美女久久久久| 国产精品扒开腿做爽爽爽视频| 国产国产精品人在线视| 亚洲影视中文字幕| 成人a级免费视频| 精品亚洲一区二区三区在线观看| 欧美精品一二区| 欧美精品国产精品日韩精品| 国产主播喷水一区二区| 大胆人体色综合| 欧美中文字幕在线播放| 日韩有码在线视频| 国产91九色视频| 97在线视频观看| 国产精品爽爽ⅴa在线观看| 欧美日韩一区二区在线| 欧美成人免费在线视频| 欧美xxxwww| 国产91色在线播放| 91免费欧美精品| 亚州精品天堂中文字幕| 性色av香蕉一区二区| 精品久久久久久亚洲精品| 色狠狠av一区二区三区香蕉蜜桃| 国产精品一区电影| 欧美激情精品久久久久久大尺度| 国产伦精品免费视频| 亚洲一区二区三区香蕉| 国产美女扒开尿口久久久| 欧美日韩综合视频网址| 中文字幕亚洲二区| 欧美日韩国产精品一区二区三区四区| 日韩中文字幕视频在线观看| 国产成人欧美在线观看| 81精品国产乱码久久久久久| 国产精品国产三级国产aⅴ浪潮| 久久精品视频中文字幕| 久久久在线免费观看|