Skip to content

Tools - Base64 Encoding Utility

cToolsBase64 - Base64 Encoding and Decoding

Overview

Provides Base64 string encoding and decoding functionality, supporting standard Base64 and UTF-8 Base64, as well as byte array and file operations.

Methods

Encode

Encodes a string into Base64 format.

vb
Public Function Encode(ByVal Data As String) As String

Parameters:

ParameterTypeDescription
DataStringThe original string to encode

Returns:

The Base64-encoded string.

Example:

vb
Dim Base64 As String
Base64 = VBMAN.ToolsBase64.Encode("Hello World")
Debug.Print Base64  ' Output: SGVsbG8gV29ybGQ=

Decode

Decodes a Base64 string back to the original string.

vb
Public Function Decode(ByVal Data As String) As String

Parameters:

ParameterTypeDescription
DataStringThe Base64-encoded string

Returns:

The decoded original string.

Example:

vb
Dim Original As String
Original = VBMAN.ToolsBase64.Decode("SGVsbG8gV29ybGQ=")
Debug.Print Original  ' Output: Hello World

UTF-8 Base64 Encoding and Decoding

Utf8Encode

Encodes a string using UTF-8 encoding before Base64 encoding.

vb
Public Function Utf8Encode(ByVal Data As String) As String

Description:

  • First converts the string to UTF-8 byte array
  • Then performs Base64 encoding
  • Suitable for handling strings containing non-ASCII characters like Chinese

Example:

vb
Dim Text As String
Text = "你好世界"

' Standard Base64 (may produce garbled characters)
Debug.Print VBMAN.ToolsBase64.Encode(Text)

' UTF-8 Base64 (recommended for Chinese text)
Debug.Print VBMAN.ToolsBase64.Utf8Encode(Text)  ' Output: 5L2g5aW95LiW55WM

Utf8Decode

Decodes a UTF-8 Base64 string.

vb
Public Function Utf8Decode(ByVal Data As String) As String

Example:

vb
Dim Encoded As String
Encoded = "5L2g5aW95LiW55WM"

Dim Decoded As String
Decoded = VBMAN.ToolsBase64.Utf8Decode(Encoded)
Debug.Print Decoded  ' Output: 你好世界

Byte Array Operations

BytesToBase64

Encodes a byte array into a Base64 string.

vb
Public Function BytesToBase64(ByRef Bytes() As Byte) As String

Parameters:

ParameterTypeDescription
BytesByte()The byte array to encode

Returns:

The Base64-encoded string.

Example:

vb
Dim Bytes() As Byte
Bytes = StrConv("Hello", vbFromUnicode)

Dim Base64 As String
Base64 = VBMAN.ToolsBase64.BytesToBase64(Bytes)
Debug.Print Base64  ' Output: SGVsbG8=

Base64ToBytes

Decodes a Base64 string into a byte array.

vb
Public Function Base64ToBytes(ByVal Data As String) As Byte()

Parameters:

ParameterTypeDescription
DataStringThe Base64-encoded string

Returns:

The decoded byte array.

Example:

vb
Dim Base64 As String
Base64 = "SGVsbG8gV29ybGQ="

Dim Bytes() As Byte
Bytes = VBMAN.ToolsBase64.Base64ToBytes(Base64)

' Convert back to string
Dim Text As String
Text = StrConv(Bytes, vbUnicode)
Debug.Print Text  ' Output: Hello World

File Operations

FileToBase64

Encodes file content into a Base64 string.

vb
Public Function FileToBase64(ByVal Path As String, Optional ImageType As String) As String

Parameters:

ParameterTypeDescription
PathStringFile path
ImageTypeStringImage type (e.g., "png", "jpg"), returns Data URI format when provided

Returns:

  • Normal Base64 string, or
  • Data URI format (when ImageType is provided): data:image/png;base64,xxxx

Example:

vb
' Normal Base64
Dim Base64 As String
Base64 = VBMAN.ToolsBase64.FileToBase64("C:\\image.png")

' Data URI format (suitable for direct use in HTML)
Dim DataUri As String
DataUri = VBMAN.ToolsBase64.FileToBase64("C:\\image.png", "png")
Debug.Print DataUri  ' Output: data:image/png;base64,iVBORw0KGgo...

Base64ToFile

Decodes a Base64 string and saves it as a file.

vb
Public Function Base64ToFile(ByRef Data As String, Optional ByVal Path As String) As Byte()

Parameters:

ParameterTypeDescription
DataStringBase64-encoded string (supports Data URI format)
PathStringOptional, save path

Returns:

The decoded byte array.

Example:

vb
Dim Base64 As String
Base64 = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="

' Get byte array only
Dim Bytes() As Byte
Bytes = VBMAN.ToolsBase64.Base64ToFile(Base64)

' Save to file
VBMAN.ToolsBase64.Base64ToFile Base64, "C:\\output.png"

' Supports Data URI format
Dim DataUri As String
DataUri = "data:image/png;base64," & Base64
VBMAN.ToolsBase64.Base64ToFile DataUri, "C:\\output.png"

Complete Examples

vb
Private Sub TestBase64()
    Dim Original As String
    Dim Encoded As String
    Dim Decoded As String
    
    Original = "VBMAN Framework is a powerful VB6 development framework"
    
    ' Standard encoding
    Encoded = VBMAN.ToolsBase64.Encode(Original)
    Debug.Print "Encoded: " & Encoded
    
    ' Standard decoding
    Decoded = VBMAN.ToolsBase64.Decode(Encoded)
    Debug.Print "Decoded: " & Decoded
    
    ' Verification
    Debug.Print "Match: " & (Original = Decoded)
    
    ' UTF-8 encoding (recommended for Chinese text)
    Encoded = VBMAN.ToolsBase64.Utf8Encode(Original)
    Debug.Print "UTF-8 Encoded: " & Encoded
    
    Decoded = VBMAN.ToolsBase64.Utf8Decode(Encoded)
    Debug.Print "UTF-8 Decoded: " & Decoded
End Sub

Private Sub TestFileBase64()
    Dim Base64 As String
    
    ' File to Base64
    Base64 = VBMAN.ToolsBase64.FileToBase64("C:\\test.pdf")
    Debug.Print "File Base64 length: " & Len(Base64)
    
    ' Base64 to file
    VBMAN.ToolsBase64.Base64ToFile Base64, "C:\\test_copy.pdf"
    
    ' Image to Data URI
    Dim DataUri As String
    DataUri = VBMAN.ToolsBase64.FileToBase64("C:\\photo.jpg", "jpeg")
    
    ' Can be used in HTML
    WebBrowser1.Document.Write "<img src='" & DataUri & "'>"
End Sub

Use Cases

ScenarioExample
HTTP AuthenticationAuthorization: Basic & Base64Encode("user:pass")
Data TransmissionText encoding of binary data for transmission
URL ParametersEncoding complex data for transmission
Configuration FilesSimple obfuscation for storing sensitive information
Image EmbeddingConvert images to Data URI embedded in HTML
File TransmissionTransmitting binary files via Base64

VB6 and LOGO copyright of Microsoft Corporation