Encoding and decoding data in Base64 string format in Visual Basic 6 (VBA)
Base64 string allow to hold the byte array data in the string format
Encode
Dim arr(5) As Byte
arr(0) = 1: arr(1) = 5: arr(2) = 2
arr(3) = 21: arr(4) = 101: arr(5) = 51
Dim base64Str As String
base64Str = ConvertToBase64String(arr) 'AQUCFWUz
Function ConvertToBase64String(vArr As Variant) As String
Dim xmlDoc As Object
Dim xmlNode As Object
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
Set xmlNode = xmlDoc.createElement("b64")
xmlNode.DataType = "bin.base64"
xmlNode.nodeTypedValue = vArr
ConvertToBase64String = xmlNode.Text
End Function
Decode
Dim base64Str As String
base64Str = "AQUCFWUz"
dim vArr As Variant
vArr = Base64ToArray(base64Str) 'Byte array: 1, 5, 2, 21, 101, 51
Private Function Base64ToArray(base64 As String) As Variant
Dim xmlDoc As Object
Dim xmlNode As Object
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
Set xmlNode = xmlDoc.createElement("b64")
xmlNode.DataType = "bin.base64"
xmlNode.Text = base64
Base64ToArray = xmlNode.nodeTypedValue
End Function