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

首頁 > 編程 > VBScript > 正文

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

2020-06-26 18:05:18
字體:
來源:轉載
供稿:網友
至少有三種以上辦法,可以把二進制數據(比如您從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. 
 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲在线视频| 亚洲欧美日韩国产成人| 北条麻妃一区二区在线观看| 精品视频www| 亚洲97在线观看| 欧美日韩福利在线观看| 亚洲免费影视第一页| 亚洲视频777| 中文字幕国产日韩| 久久精品国产精品| 国产精品永久免费视频| 久久精品99无色码中文字幕| 欧美高清一级大片| 欧美日韩亚洲精品内裤| 97超视频免费观看| 日韩国产高清污视频在线观看| 国产精品视频永久免费播放| 亚洲最大激情中文字幕| 成人黄色午夜影院| 国产91ⅴ在线精品免费观看| 久久久精品电影| 欧美日韩亚洲系列| 成人网页在线免费观看| 精品国产精品自拍| 国产精品久久久久久久久久三级| 亚洲天堂开心观看| 国产精品永久免费| 91成人在线播放| 黑人狂躁日本妞一区二区三区| 97香蕉超级碰碰久久免费软件| 青青草99啪国产免费| 亚洲成人免费网站| 久久人91精品久久久久久不卡| 日韩在线视频免费观看高清中文| 国产精品视频久久久| 国产精品丝袜高跟| 57pao成人国产永久免费| 欧美高清第一页| 亚洲精品国产欧美| 在线视频精品一| 色久欧美在线视频观看| 欧美插天视频在线播放| 久久99亚洲热视| 欧美黑人视频一区| 日韩成人激情视频| 欧美极品第一页| 不卡毛片在线看| 久久久久久久久久亚洲| 国产成人久久精品| 欧美成人久久久| 92裸体在线视频网站| 色在人av网站天堂精品| 日韩高清欧美高清| 国产精品亚洲一区二区三区| 亚洲综合在线小说| 亚洲色图激情小说| 97热精品视频官网| 欧美性视频网站| 久热精品视频在线观看| 国产精品美女免费看| 亚洲国产精品电影在线观看| 久久精品国产一区二区电影| 国产精品久久久久久影视| 日韩免费观看视频| 91午夜在线播放| 欧美三级欧美成人高清www| 亚洲片在线资源| 日韩精品极品在线观看播放免费视频| 伊人一区二区三区久久精品| 欧美成人精品三级在线观看| 久久五月情影视| 中日韩美女免费视频网址在线观看| 91精品国产成人www| 国产极品jizzhd欧美| 最近2019中文字幕在线高清| 久久精品99久久久久久久久| 亚洲精品日韩激情在线电影| 亚洲一区二区三区xxx视频| 国产欧美一区二区白浆黑人| 国产精品视频自在线| 欧美高清不卡在线| 久久久久久成人精品| 日韩欧美亚洲一二三区| 亚洲精品久久久久久久久久久| 久久激情视频久久| 欧美成人免费全部| 国产做受69高潮| 久久夜色精品国产亚洲aⅴ| 国产不卡视频在线| 日韩在线视频国产| 国外日韩电影在线观看| 国产精品成久久久久三级| 欧美多人爱爱视频网站| 欧美激情精品久久久久久| 亚洲国产精品va在线观看黑人| 国产欧美日韩高清| 欧美激情亚洲综合一区| 日韩免费av在线| 国产欧美一区二区三区四区| 日本精品免费一区二区三区| 亚洲一级黄色av| 日韩电影大全免费观看2023年上| 91色琪琪电影亚洲精品久久| 色妞在线综合亚洲欧美| 亚洲精品mp4| 日韩精品中文字幕在线| 97香蕉超级碰碰久久免费的优势| 日本成人免费在线| 青青草99啪国产免费| 国产91精品久久久久久久| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品人成电影在线观看| 欧美精品videosex极品1| 中文字幕日韩欧美在线| 亚洲偷欧美偷国内偷| 国产69精品久久久久久| 亚洲国产免费av| 国产91免费观看| 成人黄色短视频在线观看| 国产精品久久77777| 欧美刺激性大交免费视频| 久久综合伊人77777| 欧美在线观看日本一区| 国产精品美女久久| 久久99国产综合精品女同| 亚洲无亚洲人成网站77777| 国产这里只有精品| 国产91对白在线播放| 精品电影在线观看| 91精品久久久久久久久久| 久久久精品日本| 欧美高清性猛交| 欧美成人免费小视频| 美女视频黄免费的亚洲男人天堂| 久久久久久久久久久国产| 久久国产精品久久久久| 亚洲午夜女主播在线直播| 日产日韩在线亚洲欧美| 欧美激情精品久久久久久久变态| 午夜精品一区二区三区在线视频| 在线视频日本亚洲性| 中文字幕亚洲无线码a| 国产精品久在线观看| 久久人人97超碰精品888| 俺去亚洲欧洲欧美日韩| 日韩av网址在线| 国产亚洲欧美日韩一区二区| 国产精品激情av电影在线观看| 国产精品无av码在线观看| 亚洲欧美日韩爽爽影院| 国产91成人在在线播放| 狠狠色狠狠色综合日日五| 韩国三级电影久久久久久| 在线免费看av不卡| 亚洲最大在线视频| 国产精品99久久久久久久久久久久| 一本色道久久88综合亚洲精品ⅰ| 国产一区二区三区丝袜| 日韩免费av一区二区| 欧美国产日产韩国视频| 久久久精品日本| 欧美日韩亚洲一区二区三区| 午夜欧美大片免费观看| 久久久久久久久久久久av|