Base64 encode VBS function (vb encoder algorithm), source code
ActiveX RegEdit.   ActiveX User account Manager   Pure-ASP Upload
Export MDB/DBF from ASP   Active LogFile   WebChecker   ActiveX/ASP Multi Dictionary object
 See 
 also 
 IISTracer, real-time IIS monitor and logging tool.
 Huge ASP file upload with progress bar. 



 Top messages
 22.3.2003 19:18:41 
 Read and write SQL image data, store binary file to sql table. (nbsp;WSHDatabaseConversionVBScript)
 4.5.2002 9:16:43 
 Send an email from ASP (WSH) using VBSscript, CDONTS and Outlook. (nbsp;ASP / ASP.NetWSHVBScriptEmail)
 12.6.2003 9:14:29 
 Download multiple files in one http request (nbsp;File & data transferVBScript)

 Base64 encode VBS function (vb encoder algorithm), source code 

 Areas>Languages>VBScript
 Areas>ASP / ASP.Net>Functions>Conversion
      The previous article was about decoding of Base64 strings (Base64 decoder). This article contains reverse function - Base64Encode. You can use to convert String data to a Base64 string.
      To convert binary data to a Base64 string see conversion functions from binary data to a string. You can do simple function to convert binary data:
Function Base64EncodeBinary(inData)
  Base64EncodeBinary = Base64Encode(BinaryToString(inData))
End Function
      There is also possibility to change Len(inData) -> LenB(inData) and Mid(inData, I, 1) -> MidB(inData, I, 1) in Base64Encode function to encode binary data.

      Base64Encode VBS function can only work with small amount of data - VBS does not enable to work with buffers to improve performance. Consumed processor time rapidly grows with source data length (by square). Please use Base64 property of ByteArray object (ScriptUtilities library, C++ COM object, comercial) if you want to work with large data. ByteArray lets you also work with codepage (charset) conversions and provides binary file access and binary-to-string conversion. ScriptUtilities is also available with source code.
      See also:

  • Online Base64 decoder and encoder - realtime http sample to encode/decode Base64 texts and binary files.
  • Online Base16 (hex string) decoder and encoder - similar sample for hexstring (samples for SQL command with binary and image fields)
          Next table contains consumed processor time of this VBS code (Base64Encode) and C++ (Base64) on Duron 700 processor. You can see that VBS function is usable for maximum of 50-100 kB.

     Source
     size [B] 
     Procesor time [ms], Encode   Procesor time [ms], Decode 
     VBS  C++ Base64   VBS  C++ Base64 
    100 B 2.2  0.04  2.3  0.03 
    1 kB 22  0.06  23  0.10 
    5 kB 116  0.20  120  0.42 
    10 kB 248  0.37  255  0.82 
    20 kB 855  1.00  744  1.90 
    50 kB 6.6 s  0.003 s  6.4 s  0.004 s 
    100 kB 36 s  0.006 s  24 s  0.010 s 
    500 kB ~1000 s  0.032 s  ~700 s  0.050 s 
    1 MB ~5000 s  0.068 s  ~3500 s  0.110 s 
    Function Base64Encode(inData)
      'rfc1521
      '2001 Antonin Foller, Motobit Software, http://Motobit.cz
      Const Base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
      Dim cOut, sOut, I
      
      'For each group of 3 bytes
      For I = 1 To Len(inData) Step 3
        Dim nGroup, pOut, sGroup
        
        'Create one long from this 3 bytes.
        nGroup = &H10000 * Asc(Mid(inData, I, 1)) + _
          &H100 * MyASC(Mid(inData, I + 1, 1)) + MyASC(Mid(inData, I + 2, 1))
        
        'Oct splits the long To 8 groups with 3 bits
        nGroup = Oct(nGroup)
        
        'Add leading zeros
        nGroup = String(8 - Len(nGroup), "0") & nGroup
        
        'Convert To base64
        pOut = Mid(Base64, CLng("&o" & Mid(nGroup, 1, 2)) + 1, 1) + _
          Mid(Base64, CLng("&o" & Mid(nGroup, 3, 2)) + 1, 1) + _
          Mid(Base64, CLng("&o" & Mid(nGroup, 5, 2)) + 1, 1) + _
          Mid(Base64, CLng("&o" & Mid(nGroup, 7, 2)) + 1, 1)
        
        'Add the part To OutPut string
        sOut = sOut + pOut
        
        'Add a new line For Each 76 chars In dest (76*3/4 = 57)
        'If (I + 2) Mod 57 = 0 Then sOut = sOut + vbCrLf
      Next
      Select Case Len(inData) Mod 3
        Case 1: '8 bit final
          sOut = Left(sOut, Len(sOut) - 2) + "=="
        Case 2: '16 bit final
          sOut = Left(sOut, Len(sOut) - 1) + "="
      End Select
      Base64Encode = sOut
    End Function
    
    Function MyASC(OneChar)
      If OneChar = "" Then MyASC = 0 Else MyASC = Asc(OneChar)
    End Function
    
     
  •  

    See also for 'Base64 encode VBS function (vb encoder algorithm), source code' article:

         Quoted-printable decode VBScript function. This article contains a short function for quoted printable decoding, using CDO.Message object.
         Quoted-printable encode VBScript function. This article contains a short function for quoted printable encoding, using CDO.Message object.
         Base64 decode VBS function (vb decoder algorithm), source code Source of VBS (ASP) function that enables decode base64 encoded strings.

    If you like this page, please include next link on your pages:
    <A
     Href="http://www.motobit.com/tips/detpg_Base64Encode/"
     Title="Source of VBS (ASP) function that
      lets you encode source data
      (binary or string) to a
      base64 encoded string."
    >Base64 encode VBS function (vb encoder algorithm), source code</A>

         IISTracer - IIS ISAPI real-time monitor IISTracer is a real-time monitoring tool for Microsoft IIS, which will show/log you what is happenning on IIS server right now. It let's you reveal problems with long-running scripts (.asp, .cgi, cfm...), hang-up states and low resource situations and lets you stop long-running requests (uploads/downloads).      ActiveX User account Manager - Set of simple objects for creating, deleting, and managing user accounts, groups, servers and domains in the Windows NT environment.
         Active log file - Hi-performance text file logging for ASP/VBS/VBA applications. Lets you create daily/weekly/monthly log files with variable number of logged values and extra timing and performance info.      ActiveX windows registry editor - Intuitive, easy to use COM interface to windows registry. Set of classes to read/enumerate/modify windows registry keys and values from ASP, VBS and T-SQL.
         ActiveX/ASP Multi Dictionary object - Free-threaded hi-speed dictionary algorithm with unique/nonunique keys (map/multimap). Connect to another dictionary object in the same process. Lock and Unlock methods to synchronize tasks (application scope). Share ASP Application/Session objects.      Export DBF/MDB from ASP - Conversion from recordset to MDB/DBF. Direct binary output of MDB or DBF files from ASP pages with one row of code.
         Pure-ASP upload - lets you upload files using Pure ASP VBS code (using multipart/form-data and input type=file).      ByteArray - Works with safearray binary data (VT_UI1 | VT_ARRAY) - save/restore binary data from disk, find, work with code pages, convert to string/hexstring(SQL).
         WebChecker - Checks http, https, ftp and gopher internet connections in regular intervals. Lets you monitor web site functionality (uptime). Enables restart or notification on problems.      HTTPLog ISAPI filter - Lets you log incomming/outgoing http header and document data to separate files. Monitor of IIS service input/output.

    © 1996 – 2008 Antonin Foller, PSTRUH Software, e-mail help@pstruh.cz