编程开发 > ASP > 文章内容

[VBS]转换二进制数据为字符串常用方法

2010-8-10编辑:feimeimei
  至少有三种以上办法,可以把二进制数据(比如您从ASP的Request.BinaryRead方法得到的数据)转换为字符串。
  第一种:使用VBS的MultiByte 方法
  实例:
  Function SimpleBinaryToString
  ‘SimpleBinaryToString converts binary data
  ‘to a stringusing MultiByte VBS functions
  Dim I, S
  For I = 1 To LenB
  S = S Chr))
  Next
  SimpleBinaryToString = S
  End Function
  这个方法非常简单明了,但是处理大数据流时,比较慢。
  建议只用来处理100KB以下的数据。
  下面的这个类似的方法,性能稍微好些:
  Function BinaryToString
  ‘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
  Do While cl1=L
  pl3 = pl3 Chr))
  cl1 = cl1 + 1
  cl3 = cl3 + 1
  If cl3300 Then
  pl2 = pl2 pl3
  pl3 =
  cl3 = 1
  cl2 = cl2 + 1
  If cl2200 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
  ‘Antonin Foller, http://www.pstruh.cz
  ‘RSBinaryToString converts binary data
  ‘to a stringusing ADO recordset
  Dim Binary
  ‘MultiByte data must be converted To VT_UI1VT_ARRAY first.
  If vartype=8 Then Binary = MultiByteToBinary Else Binary = xBinary
  Dim RS, LBinary
  Const adLongVarChar = 201
  Set RS = CreateObject
  LBinary = LenB
  If LBinary0 Then
  RS.Fields.Append mBinary, adLongVarChar, LBinary
  RS.Open
  RS.AddNew
  RS.AppendChunk Binary
  RS.Update
  RSBinaryToString = RS
  Else
  RSBinaryToString =
  End If
  End Function
  RSBinaryToString 没有什么限制除了物理内存之外。这种处理方式是MultiByte方式的100倍!你可以用它来处理高达100MB的数据! 这种转换方式,你也可以用来把MultiByte strings转换为String。下面这个方法把MultiByte strings转换为Binary:Function MultiByteToBinary
  ‘copy; 2000 Antonin Foller, http://www.pstruh.cz
ASP实现的无限级会员树型结构

热点推荐

登录注册
触屏版电脑版网站地图